繁体   English   中英

MySQL查询按两列分组?

[英]MySQL query to group by two columns?

我有一个包含以下各列的表:

销售金额,国家/地区销售日期(MM / DD / YYYY)

我需要生成一个查询,该查询可以为我提供每个销售日期每个国家/地区的销售数量,并且看起来像这样:

COUNT COUNTRY DATE_OF_SALE

1000 USA 4/1/2016

500 USA 4/2/2016

2000 CN 4/1/2016

3000 CN 4/2/2016

对于我的一生,我似乎找不到有效的方法。 该表包含超过30天的信息,我想构建此信息,以便可以按国家/地区按日期查看历史销售值。 我试过了:

SELECT COUNT(*) AS C1, COUNTRY, DATE_OF SALE FROM DB.TABLE ORDER BY DATE_OF_SALE DESC;

……这只给了我第1列上整个表格的总数,一个随机的(可能是最高的国家),只有一个日期……不知道发生了什么。 抱歉,不是MySQL专家,但是有谁可以帮忙? 我仍在Google上寻找答案,以查看发生了什么,以为我可能会先发布。

您需要给它一个列进行计数,并将其余的分组:

select count(country) as COUNT, COUNTRY, DATE_OF_SALE
from DB.TABLE ORDER BY DATE_OF_SALE DESC
group by COUNTRY, DATE_OF_SALE

这应该够了吧。 除了您要数回的东西之一。 您应该找到另一列并进行计数。 通常,唯一的ID是最好的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM