【发布时间】:2012-08-26 06:25:16
【问题描述】:
我有一个包含字段的表格:
id | color | other fields....
1 red
2 blue
3 green
4 green
5 red
6 blue
颜色是枚举(红、蓝、绿)。
我想要的是按颜色排序的结果列表,并且还想知道红色/蓝色/绿色元素的 COUNT。
所以从上表中,我想要这样的信息:
1 红色 5红色 2 蓝色 6 蓝色 3 绿色 4绿色
并希望计数为 RED=2、BLUE=2、GREEN=2
如果我使用 GROUP BY 颜色,我只会得到 3 行。
我当然可以在外部单独循环计数或使用 2 个不同的查询。但是,我们将不胜感激在单个查询中以最佳方式执行此操作的任何方法。
【问题讨论】:
-
你想要所有枚举值的计数,而不是至少有一个条目的计数?
标签: mysql performance count group-by query-optimization