mysql - 按返回的重复数排序结果
问题描述
我有以下查询:
select titles.* from titles left join quotes on quotes.title_id = titles.id where titles.type = 4 order by titles.slug DESC
这将返回多个重复的标题记录。我想计算title.slugs
有多少重复项,并按从多到少排序。
我怎么能做到这一点?
解决方案
结合使用group by
with 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
另外,在这里加入表格没有意义..还是您打算从中选择一些东西?
推荐阅读
- php - 与 SQLServer 连接 PDO
- postgresql - PostgreSQL 函数和 Apache ANT 的问题
- python - 在python中使用递归函数打印星形图案
- c++ - C ++根据四元数旋转矩阵以一定角度移动对象
- ios - 自定义滑块响应迟缓
- javascript - 将表格添加到模态并从数组中捕获数据
- javascript - 在字符串数组中查找字符串
- javascript - 使用 javascript 在对象组中包含字段值的总和
- ios - 为什么这个 If 语句在明显为假时评估为真?
- c - 必须输出两组两个字符串,但是当第一个scanf只插入一个字符串时,输出就乱了