MYSQL计算多个订单而不进行分组

问题描述 投票:0回答:1

[我正在尝试生成一个显示每个订单的查询,并添加一个附加列,该列显示客户以前是否已按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

谢谢

mysql
1个回答
0
投票

您可以使用按名称与子查询连接的计数组

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
© www.soinside.com 2019 - 2024. All rights reserved.