[英]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.