按返回多少重复项的排序结果

时间:2018-09-26 19:09:54

标签: mysql laravel

我有以下查询:

QML-file.

这将返回多个重复的标题记录。我想计算有多少个重复的select titles.* from titles left join quotes on quotes.title_id = titles.id where titles.type = 4 order by titles.slug DESC,并以最少的顺序排列。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

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

此外,这里没有必要加入表格。或者您打算从中选择内容吗?

答案 1 :(得分:0)

这样的想法是拉出使用外键的实例。左联接确保外键不为空。其余的通过使用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