如何计算每个类别的项目?

时间:2012-05-21 15:02:33

标签: mysql sql count

我想在网站上过滤产品。 像这样:

Department
- lassics (13,395)
- Literary (111,399)
- History (68,606)
...

Format
- HTML (3,637)
- PDF (8)
- Audio CD (443)
...

Language
- English (227,175)
- German (10,843)
- French (10,488)
...

如何计算每个类别的产品?每个类别的单独SQL查询都太慢,因为产品和类别太多。我建议缓存也不是一个选项。

使用MySQL EXPLAIN查询可能有意义(虽然它并不总能提供足够的信息)?或者也许使用sphinx搜索引擎进行计数?...最好的方法是什么?谢谢。

3 个答案:

答案 0 :(得分:10)

尝试:

SELECT category, COUNT(*) as count FROM table GROUP BY category

响应应该是所有不同的category值,以及每个值的出现次数。

答案 1 :(得分:8)

这个怎么样

SELECT field1, count(1) as Total
FROM myTable
GROUP BY field1

答案 2 :(得分:5)

COUNT()GROUP BY一起使用,按类别将它们分组