按返回的重复数排序结果

vltsax25  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(290)

我有以下疑问: select titles.* from titles left join quotes on quotes.title_id = titles.id where titles.type = 4 order by titles.slug DESC 这将返回多个重复的标题记录。我想数一数有多少份 title.slugs 从大到小有秩序。
我怎样才能做到这一点?

hgqdbh6s

hgqdbh6s1#

这样做的目的是提取使用外键的示例。左连接确保外键不为null。剩下的是使用count,group by和having,
像这样: select titles.*, count(*) as n from titles left join quotes on quotes.title_id = titles.id where titles.type = 4 GROUP BY slug HAVING n > 1 order by n DESC

ao218c7q

ao218c7q2#

结合使用 group byorder by aggregate :

SELECT titles.*
FROM titles 
LEFT JOIN quotes 
    ON quotes.title_id = titles.id 
WHERE titles.type = 4 
GROUP BY titles.slug
ORDER BY COUNT(titles.slug) DESC

如果需要使用重复计数,请将类似的内容添加到 select 声明:

COUNT(titles.slug) as duplicate_title_count

而且,在这里加入这个表格也没有意义。。或者你打算从中挑选什么?

相关问题