如果我的查询中重复的 id_customer 是,我想不显示,
SELECT
ps_orders.id_customer,
ps_customer.firstname,
ps_customer.lastname,
ps_customer.email,
ps_orders.total_paid
FROM
ps_orders
RIGHT JOIN ps_customer
on ps_orders.id_customer = ps_customer.id_customer
WHERE
ps_orders.total_paid > 1
GROUP BY
ps_orders.id_customer;
我正在使用“分组依据”来做,但它没有显示。我希望它不会显示任何内容,即使是分组依据
显示是这样的
id_customer firstname lastname email total_paid
--------------------------------------------------------
55 name8 name10 ***@windowslive.com 88.90
58 name6 name7 ****@hotmail.com 78.90
59 name3 name5 ****@hotmail.com 123.83
60 name name2 ****@hotmail.com 78.90
第一次查询是这样的,
SELECT
ps_orders.id_customer,
ps_customer.firstname,
ps_customer.lastname,
ps_customer.email,
ps_orders.total_paid
FROM
ps_orders
RIGHT JOIN ps_customer
on ps_orders.id_customer = ps_customer.id_customer
WHERE
ps_orders.total_paid > 1
ORDER BY
ps_orders.id_customer;
没有分组依据
id_customer firstname lastname email total_paid
--------------------------------------------------------
55 name8 name10 ***@windowslive.com 88.90
58 name6 name7 ****@hotmail.com 56.00
58 name6 name7 ****@hotmail.com 87.90
58 name6 name7 ****@hotmail.com 79.99
58 name6 name7 ****@hotmail.com 78.90
59 name3 name5 ****@hotmail.com 123.83
60 name name2 ****@hotmail.com 78.90
但我想这样看
id_customer firstname lastname email total_paid
--------------------------------------------------------
55 name8 name10 ***@windowslive.com 88.90
59 name3 name5 ****@hotmail.com 123.83
60 name name2 ****@hotmail.com 78.90
最佳答案
试试这个:
SELECT
ps_orders.id_customer,
ps_customer.firstname,
ps_customer.lastname,
ps_customer.email,
ps_orders.total_paid
FROM
ps_orders
JOIN ps_customer
on ps_orders.id_customer = ps_customer.id_customer
WHERE
ps_orders.total_paid > 1
AND ps_orders.id_customer IN ( SELECT ps_orders.id_customer
FROM ps_orders
GROUP BY ps_orders.id_customer
HAVING COUNT(1) < 2 )
关于MySQL 查询不显示重复的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33508923/