mysql where in带2个参数的查询方式

数据结构如下

 

下面两句的查询结果都是一样的

SELECT
id
FROM
t3
WHERE
(n1, n2) IN (
SELECT
n1,
n2
FROM
t3
WHERE
id <= 2
)
------------------------------------------------------
SELECT
id
FROM
t3
WHERE
(n1, n2) IN ((1, 'a'),(2, 'b'))
结果

id

1

2

 

统计个数:

SELECT
ybp.box_id,
count( * ) AS num,
yrr.product_id,
ybp.LEVEL,
yb.NAME,
yrr.customer_id,
gc.nick
FROM
yifan_raffle_record yrr
LEFT JOIN yifan_box_product ybp ON yrr.product_id = ybp.id
LEFT JOIN gacha_customer gc ON yrr.customer_id = gc.customer_id
LEFT JOIN yifan_box yb ON ybp.box_id = yb.id
WHERE
ybp.LEVEL !=- 1
AND ybp.LEVEL != 0
AND (ybp.box_id,yrr.customer_id) IN (
SELECT
ybp.box_id,
yrr.customer_id
FROM
yifan_raffle_record yrr
LEFT JOIN yifan_box_product ybp ON yrr.product_id = ybp.id
WHERE
ybp.LEVEL =0
GROUP BY
ybp.box_id,
customer_id
ORDER BY
ybp.box_id desc
)
GROUP BY
ybp.box_id,
yrr.customer_id
ORDER BY
ybp.box_id DESC

原文链接:https://blog.csdn.net/kouwoo/article/details/80925109

posted @ 2019-11-07 16:17  星云惊蛰  阅读(2142)  评论(0)    收藏  举报