2012-04-16 9 views
0

すべてのアイテムを表示したい場合は、最初に多くのアイテムを特別に表示したい場合は、特別なアイテムでグループ化する必要があります。テーブル内で最も人気のあるアイテムをグループ化して取得する

[id] [specials_id] [item] 
1   1  bread 
2   2  bread 
3   2  eggs 
4   1  peanut 
5   2  macaroni 
6   3  peanut 
7   2  juice 

結果は以下のようにする必要があります:

2 bread 
    2 eggs 
    2 macaroni 
    2 juice 
    1 bread 
    1 peanut 
    3 peanut 

私はこれを試してみましたが、それだけでそれらのいずれかを返します。

SELECT COUNT(*) AS `Rows`, item, special_id 
    FROM my_table 
    GROUP BY special_id 
    ORDER BY `Rows` DESC 

誰かが私を支援していただけますか?

+0

は、なぜあなたは '3 peanut'が続くしたいですか?私はあなたが達成したいことを本当に理解していません。 – nyson

+0

3は特別なので、テーブルには最小のアイテムがあります。 – Lappies

+0

あなたはmy_tableの最後の2つの属性を必要としているようですが、注文は理解できませんでした... –

答えて

0

使用このクエリ:

SELECT COUNT(*) AS Rows1, spl_id, name 
FROM `new` 
GROUP BY `spl_id` , `name` 
ORDER BY `Rows1` DESC 
+0

どうすれば出力が良いか確認してください – Lappies

+0

編集を確認してください –

関連する問題