2016-04-29 89 views
0

中如何計數的行選擇數據的訂單數據順序如何選擇由數行

我想選擇由計數media_user_action行的數據順序,不知道如何在一個查詢語法做到這一點

例如
media_id 1 3在media_user_action行
media_id 2 1行中media_user_action

返回數據
media_id 1然後media_id 2

SELECT 
    m.* 
    FROM media m 
    LEFT JOIN media_user_action mua ON mua.media_id = m.id 

// ORDER BY COUNT(mua.*) count rows desc ? 

媒體

id | 
1 
2 

media_user_action

id | media_id | user_id | type 
1 | 1  | 1  | 0 
2 | 1  | 13  | 0 
3 | 1  | 15  | 1 
4 | 2  | 16  | 0 
+0

爲什麼downvote?請讓我知道 – user1575921

+0

我想你的問題不清楚。你可能想多解釋一下。 –

+0

問題不清楚。你可以解釋更多 –

回答

3

您可以在ORDER BY子句中使用COUNT

SELECT m.id 
FROM media m 
LEFT JOIN media_user_action mua 
    ON mua.media_id = m.id 
    AND mua.type = 0 
GROUP BY m.id 
ORDER BY COUNT(mua.id) DESC 

如果要添加其他條件media_user_action,添加它的ON子句中:

SELECT m.id 
FROM media m 
LEFT JOIN media_user_action mua 
    ON mua.media_id = m.id 
GROUP BY m.id 
ORDER BY COUNT(mua.id) DESC 
+0

感謝您的回覆,什麼是'GROUP BY <列出這裏的所有媒體列>什麼在< >? ?如果我想按順序使用count,你的意思是我必須使用group by? – user1575921

+0

將其替換爲'media'的所有列。查看我的更新。 –

+0

我明白了,非常感謝你 – user1575921