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 に答える