首页 > 解决方案 > 按返回的重复数排序结果

问题描述

我有以下查询:

select titles.* from titles left join quotes on quotes.title_id = titles.id where titles.type = 4 order by titles.slug DESC

这将返回多个重复的标题记录。我想计算title.slugs有多少重复项,并按从多到少排序。

我怎么能做到这一点?

标签: mysqllaravel

解决方案


结合使用group bywith order 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

另外,在这里加入表格没有意义..还是您打算从中选择一些东西?


推荐阅读