Так что я пример таблица называется пунктов со следующими столбцами:MySQL: несколько группировки
- item_id (интермедиат)
- person_id (интермедиат)
- item_name (varchar)
- item_type (varchar) - примеры: "ne WS», "событие", "документ"
- item_date (DateTime)
... и стол человек со следующими столбцами: "person_id", "PERSON_NAME".
Я надеялся, что отображает список двух верхних отправителей (+ COUNT() отправленных товаров) за определенный период времени для каждого item_type. Вот в основном то, что я надеялся, что выход 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? Заранее спасибо!
Насколько эффективна по сравнению с использованием отдельного запроса для каждого ITEM_TYPE? – Matt
Это более эффективно. Если у вас много пар (item_type, person_name), это даже заметно эффективно. – Quassnoi
Зависит от того, сколько элементов item_types у вас действительно есть, но делает одну поездку в базу данных, как правило, хорошая идея, и этот запрос выглядит так, что он не будет очень требовательным к ресурсу. –