У меня есть набор данных, который выглядит следующим образом:
+----+-------------+
| ID | StoreVisit |
+----+-------------+
| 1 | Home Depot |
| 2 | Lowes |
| 3 | Home Depot |
| 2 | ACE |
| 2 | Lowes |
| 1 | Home Depot |
| 4 | ACE |
| 5 | ACE |
| 4 | Lowes |
+----+-------------+
Я новичок в (SQL) и знаю, что могу выбрать все и затем использовать Excel (сводная таблица / функции / вставить специальные) или R (tidyr) для транспонирования .. однако, если у меня много данных, это не эффективно.Правильный ли приведенный ниже запрос?Если так, как я могу определить все значения StoreVisit, если существуют тысячи типов магазинов, не вводя каждое из них в запросе?
select * from Stores
pivot (COUNT(StoreVisit) for StoreVisit in ([ACE],[Lowes],[Home Depot])) as StoreCounts
+----+-------+-----------+-----+
| ID | Lowes | HomeDepot | ACE |
+----+-------+-----------+-----+
| 1 | 0 | 2 | 0 |
| 2 | 2 | 0 | 0 |
| 3 | 0 | 1 | 0 |
| 4 | 1 | 0 | 1 |
| 5 | 0 | 0 | 1 |
+----+-------+-----------+-----+
Пожалуйста, извините за форматирование этого поста!Много извинений.