簡體   English   中英

MySQL返回由另一個子查詢計數排序的結果數組

[英]MySQL return array of results ordered by another subquery count

我有兩個表, tagdefinitionstags tagdefinitions存儲標簽的ID及其名稱。 這是tagdefinitions的示例:

ID   Name
1    Survival
2    Prison
3    RPG
4    Creative

tags表存儲該標簽使用位置的記錄。 每個單獨的用途都由serverid標識。 樣品:

ID   Serverid   tagid
1    3          3
2    4          3
3    4          1
4    2          4
5    2          2

我的查詢需要從tagdefinitions返回最流行的標簽,如果有意義, tagid分組的tags的COUNT條記錄排序。 在上面給出的示例中,應該按以下順序返回tagdefinitions

3,1,2,4

這是因為3是最常見的,然后其余的只是按整數值升序排列。

select 
   d.ID, 
   max(Name) as Name
from tagdefinitions d
join tags t on d.ID = t.tagid
group by d.ID
order by count(t.ID) desc, d.ID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM