Mysql 如何按id选择值的总和?SQL

Mysql 如何按id选择值的总和?SQL,mysql,sql,Mysql,Sql,因此,我有一个包含如下记录的表: ID ORDERS 1 4 1 1 2 4 3 1 3 2 我需要创建一个导致这种情况的查询: ID ORDERS 1 5 2 4 我尝试使用select id,countorders from table group by id,countorders>3 但我得到的只是一个奇怪的结果,其中我的ID编号奇怪。您需要求和而不是计数: select id, sum(orders) from table group b

因此,我有一个包含如下记录的表:

ID  ORDERS
1    4
1    1
2    4
3    1
3    2
我需要创建一个导致这种情况的查询:

ID ORDERS
1   5
2   4
我尝试使用select id,countorders from table group by id,countorders>3
但我得到的只是一个奇怪的结果,其中我的ID编号奇怪。

您需要求和而不是计数:

select id, sum(orders) 
from table 
group by id 
having sum(orders) > 3

更改您的尝试,使您可以使用SUMorders而不是COUNTorders

计数不起作用,因为对于任何非空值,它将计数器递增1,而对于空值,它不会递增。在下表中:

ID, name
1, John
2, null 
3, Jane
null, null

COUNTid将返回3-有3个非空ID值。COUNTname将返回2-有两个非空值。SUMID将返回6-ID的数值之和为6。SUM查看值是什么,COUNT不查看。SUM将把空值视为0。即使该行的所有值都为空,特殊情况计数*也会对该行的存在进行计数。COUNT*将返回4-结果中有4行

MySQL支持通过sum对值进行求和,如下所示:

选择id,按id从测试组中汇总订单;
另请参见。

count仅统计与名称所示ID相同的行。正如你的问题标题所暗示的那样,你想要的是总和。分享就是关心。告诉我们你尝试了什么。所以,我尝试了这个解决方案,结果很奇怪。这很重要,但我会觉得奇怪。我有一个从1到10的id,它使我有77,60,81…检查这个:这是它如何为您的样本数据工作。哦。。。我知道我做错了什么!我的类型不好。谢谢你的帮助!:D@electronicspen如果这个答案解决了你的问题,考虑通过点击复选标记来接受它。