我有以下疑问: select titles.* from titles left join quotes on quotes.title_id = titles.id where titles.type = 4 order by titles.slug DESC 这将返回多个重复的标题记录。我想数一数有多少份 title.slugs 从大到小有秩序。 我怎样才能做到这一点?
这样做的目的是提取使用外键的示例。左连接确保外键不为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
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
2条答案
按热度按时间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
ao218c7q2#
结合使用
group by
与order by aggregate
:如果需要使用重复计数,请将类似的内容添加到
select
声明:而且,在这里加入这个表格也没有意义。。或者你打算从中挑选什么?