之前可能已经提到过,但我无法通过无数的搜索结果。
给定一个非规范化的MySQL表,最优化的查询是什么来计算使用列x的每个不同值的次数?
e.g。给定一个包含
的表mike
mary
mike
返回结果如:
mike 2
mary 1
从MySQL文档中,似乎count
是一个可以与GROUP BY
一起使用的聚合函数,但是它没有按我想要的那样做(它返回{的总行数) {1}},而不是每行的出现次数。即这不起作用GROUP BY
答案 0 :(得分:51)
select email, count(*) as c FROM orders GROUP BY email
答案 1 :(得分:15)
SELECT column_name, COUNT(column_name)
FROM table_name
GROUP BY column_name
答案 2 :(得分:1)
按功能查看分组。
按功能分组的功能是对给定字段的类似值进行分组。然后,您可以使用COUNT函数显示该值被分组的时间数。
您也可以使用具有MySQL定义的大量其他功能的按功能分组(参见上面的链接)。
mysql> SELECT student_name, AVG(test_score)
-> FROM student
-> GROUP BY student_name;
答案 3 :(得分:0)
select name, count(*) from table group by name;
我认为应该这样做