は、だから私は、例の表には、次の列でアイテムと呼ばれています:のMySQL:複数のグループ化
- は(int型)をITEM_ID
- は(int)をPERSON_ID
- ITEM_NAME( varchar)
- item_type(varchar) - 例: "ne WS」、 "イベント"、 "ドキュメント"
- item_date(日時)
...と、次の列を持つテーブル人: "PERSON_ID"、 "人名"。
私はに、各item_typeの所定の期間内に投稿者の上位2名(+ COUNT(件)のアイテムのリスト)を表示したいと考えていました。基本的には、MySQLの出力が次のようになることを期待していました。
person_name | item_type | item_count
Steve Jobs | document | 11
Bill Gates | document | 6
John Doe | event | 4
John Smith | event | 2
Bill Jones | news | 24
Bill Nye | news | 21
item_typeごとに別のクエリを作成しなければ、これはどうして可能ですか?前もって感謝します!
私は、これはそれを行うべきだと思う
どのように効率的ですか? – Matt
より効率的です。たくさんの(item_type、person_name)のペアがある場合、それは顕著に効率的です。 – Quassnoi
あなたが実際に持っているitem_typeの数にもよりますが、通常はデータベースへの1回の旅行をお勧めします。このクエリは、リソースをあまり必要としないようです。 –