以前可能有人问过这个问题,但我无法在无数的搜索结果中找到自己的方式。
给定一个非规范化的MySQL表,要计算x列的每个不同值被使用的次数,最优化的查询是什么?
例如,给定一个包含以下内容的表
mike
mary
mike
返回如下结果:
mike 2
mary 1
从MySQL文档中可以看出,count
是一个可以与GROUP BY
一起使用的聚合函数,但是它并没有做我想要的事情(它返回GROUP BY
中的总行数,而不是每行的外观数)。也就是说,这不适用于SELECT count(email) as c FROM orders GROUP BY email
发布于 2012-04-18 06:13:50
select email, count(*) as c FROM orders GROUP BY email
发布于 2012-04-18 06:15:05
SELECT column_name, COUNT(column_name)
FROM table_name
GROUP BY column_name
发布于 2012-04-18 06:18:12
看看Group by函数。
group by函数所做的是对给定字段的相似值进行分组。然后,您可以使用COUNT函数显示该值分组的次数。
您还可以将group by函数与MySQL定义的大量其他函数一起使用(请参阅上面的链接)。
mysql> SELECT student_name, AVG(test_score)
-> FROM student
-> GROUP BY student_name;
https://stackoverflow.com/questions/10199950
复制相似问题