计算每列的值

时间:2012-12-08 07:03:31

标签: php mysql sql

我有一张包含以下内容的表:

id datetime country productId

假设有50种不同的产品,我如何计算每种产品的数量?

╔═══════╦═════════════════════╦═════════╦═══════════╗
║  id   ║      datetime       ║ country ║ productId ║
╠═══════╬═════════════════════╬═════════╬═══════════╣
║     1 ║ 2012-12-08 14:38:49 ║ us      ║         2 ║
║     2 ║ 2012-12-08 16:38:52 ║ us      ║         2 ║
║     6 ║ 2012-12-08 16:39:50 ║ ca      ║        33 ║
║     7 ║ 2012-12-08 16:54:58 ║ uk      ║         1 ║
╚═══════╩═════════════════════╩═════════╩═══════════╝

这应该导致

╔═════════╦════════════╗
║ COUNTRY ║ TOTALCOUNT ║
╠═════════╬════════════╣
║     US  ║          2 ║
║     CA  ║          1 ║
║     UK  ║          1 ║
╚═════════╩════════════╝

我怎样才能做到这一点?我已尝试计算查询,但它不起作用。

1 个答案:

答案 0 :(得分:2)

只需使用COUNT聚合函数,然后按COUNTRY对其进行分组。

SELECT COUNTRY, COUNT(*) totalCOUNT
FROM tableName
GROUP BY COUNTRY
ORDER BY totalCOUNT DESC