[我正在尝试生成一个显示每个订单的查询,并添加一个附加列,该列显示客户以前是否已按NAME,ADDRESS或USER_ID下订单,而没有对结果进行分组。
我尝试过:SELECT *, COUNT(`NAME`) c FROM `salesorders` GROUP BY `NAME` HAVING c > 0
这将显示所有客户订单,但是如果客户以前曾订购过,则由于分组的原因,客户名称仅显示一次。
例如名称,日期,c约翰·史密斯,2019-11-28,2丽莎·托马斯(Lisa Thomas),2019-11-20,1
我希望它显示两次出现:约翰·史密斯,2019-11-28,2丽莎·托马斯(Lisa Thomas),2019-11-20,1约翰·史密斯,2019-05-07,2
谢谢
您可以使用按名称与子查询连接的计数组
SELECT s.*, t.c
from
FROM `salesorders` s
INNER JOIN (
select name, count(*)
from salesorders
group by name
) t on t.name = s.name
where t.c > 0