让我们考虑这张表,它指定了一个人购买了多少次房产。
+--------+----------+
| 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 |
+----------+---+---+
- 一辆车买了多少次?四,彼得两,约翰两。
- 一辆车被买了多少次?二,对于同一个人。
- 房子买了多少次?三,阿曼达两次,约翰一次。
- 房子被买了多少次?只有一次,对于阿曼达
是否可以仅使用 SQL 查询来做到这一点?
- 我不在乎性能或骇人听闻的方式。
- 有两个以上的频率。
购买房产的时间是固定的 (5),因此在查询中手动指定列是没有问题的。我的意思是做类似的事情没有问题:
SELECT /* ... */ AS 1, /* ... */ AS 2, /* ... */, AS 3 /* ... */