我有一个我似乎无法应对的挑战。
+------+--------+-----------+-------+
| id | user | genres | books |
+------+--------+-----------+-------+
| 1 | John | crimes | 2 |
| 2 | John | scienc | 1 |
| 3 | John | nature | 4 |
| 4 | Pete | nature | 3 |
| 5 | Pete | crime | 2 |
| 6 | Mary | nature | 20 |
+------+--------+-----------+-------+
我想要一个 SQL 查询来获取用户拥有的书籍总量,无论类型如何,并希望按拥有最多的人排序。
在此示例中,您看到 Mary 有 20 本书,Pete 5 和 John 有 7 本书,所以我想要的结果将是一个数组,如:
result[0][user] = "Mary";
result[0][total] = 20;
result[1][user] = "John";
result[1][total] = 7;
result[2][user] = "Pete";
result[2][total] = 5;
我怎样才能把它变成一个 SQL?我应该使用 CONCAT 还是 TOP 什么的?我使用 MySQL 和 PHP。