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

rom*_*ads 7 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)
...
Run Code Online (Sandbox Code Playgroud)

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

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

Joh*_*hno 10

尝试:

SELECT category, COUNT(*) as count FROM table GROUP BY category
Run Code Online (Sandbox Code Playgroud)

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


Fah*_*kar 8

这个怎么样

SELECT field1, count(1) as Total
FROM myTable
GROUP BY field1
Run Code Online (Sandbox Code Playgroud)


Joh*_*nde 5

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