8

我想对网站上的产品进行过滤。像这样的东西:

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 查询是有意义的(尽管它并不总是提供足够的信息)?或者也许使用狮身人面像搜索引擎进行计数?......最好的方法是什么?谢谢。

4

3 回答 3

12

尝试:

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

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

于 2012-05-21T15:05:26.020 回答
9

这个怎么样

SELECT field1, count(1) as Total
FROM myTable
GROUP BY field1
于 2012-05-21T15:08:32.120 回答
5

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

于 2012-05-21T15:04:16.933 回答