2012-08-12 26 views
2

我目前使用此MySQL查詢:如何合併來自兩個MySQL表的數據以返回按一個表中的用戶條目數排序的用戶列表?

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

這讓我對每個用戶的唯一一行在表「跟蹤」每個用戶的條目數的計數。

雖然並非所有用戶都在表'軌道'中有條目,並且我想選擇/列出頁面上的所有用戶。所有用戶都被包含在另一個名爲'users'的MySQL表中。

因爲我想要顯示所有按「軌道」表中條目數量排列的用戶(在底部的「軌道」表中沒有條目的用戶),我認爲我需要使用一個SELECT查詢來實現這一點,但我不知道如何做到這一點,並會很樂意提供一些幫助。

回答

1

您需要進行左連接。假設你有一個「用戶」表一「user_ID的」列這在「軌道」表匹配的「用戶」列:

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; 
+0

謝謝,斯科特 - 這正是我一直在尋找。 – Nick 2012-08-13 00:06:54

相關問題