2

我目前正在使用这个 MySQL 查询:

$query="SELECT user, COUNT(*) AS num FROM tracks GROUP BY user ORDER BY COUNT(*) DESC";

这为每个用户提供了一个唯一的行,其中计算了“tracks”表中每个用户的条目数。

不过,并非所有用户在“曲目”表中都有一个条目,我想选择/列出页面上的所有用户。然而,所有用户都包含在另一个名为“用户”的 MySQL 表中。

因为我想显示按“tracks”表中的条目计数排序的所有用户(底部的“tracks”表中没有条目的用户),所以我认为我需要使用一个 SELECT 查询来实现这一点,但我不知道如何做到这一点,并会很高兴得到一些帮助。

4

1 回答 1

1

你需要做一个左连接。假设您有一个“users”表,其中的“user_id”列与“tracks”表中的“user”列匹配:

SELECT users.user_id, count(tracks.user) from users left join tracks on (users.user_id = tracks.user) group by tracks.user order by count(tracks.user) DESC;
于 2012-08-12T23:17:09.517 回答