我想在网站上过滤产品。 像这样:
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搜索引擎进行计数?...最好的方法是什么?谢谢。
答案 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
一起使用,按类别将它们分组