Подсчет количества отдельных строк для нескольких значений
Давайте рассмотрим эту таблицу, указав, сколько раз человек купил недвижимость.
+--------+----------+
| user | property |
+--------+----------+
| john | car |
| john | car |
| john | house |
| peter | car |
| peter | car |
| amanda | house |
| amanda | house |
+--------+----------+
Мне нужно знать, сколько раз машина была куплена один раз, сколько раз дом был куплен один раз и т. Д. Примерно так:
+----------+---+---+
| property | 1 | 2 |
+----------+---+---+
| cars | 4 | 2 |
| house | 3 | 1 |
+----------+---+---+
Сколько раз машина была куплена?четыре, два дляПитер и два дляДжон.Сколько раз машина была куплена дважды?Двадля тех же парней.Сколько раз был куплен дом?Три, два дляAmanda и один раз дляДжон.Сколько раз дом был куплен дважды? Толькоодин раз, заAmandaВозможно ли это сделать только с помощью SQL-запросов?
Я не забочусь о производительности или хакерских способах.Есть более двух частот.Существует фиксированный период времени, в течение которого человек может купить недвижимость (5), поэтому нетрудно указать столбцы вручную в запросе. Я имею в виду, что нет проблем сделать что-то вроде:
SELECT /* ... */ AS 1, /* ... */ AS 2, /* ... */, AS 3 /* ... */