SQL显示重复条目
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL显示重复条目相关的知识,希望对你有一定的参考价值。
我有一个从数据库中提取信息的SQL代码。这是代码:
$info = "SELECT field_5, record_meta_keywords
FROM cms_custom_database_1
WHERE field_5 > ''
GROUP BY field_5
ORDER BY field_5
DESC LIMIT 10";
问题是field_5有重复的条目。例如,该字段中有两个868,但输出仅显示一个而不显示另一个。如何更改此选项以显示所有条目,而不仅仅是每个数字中的一个?
答案
如果没有聚合功能,则不应使用group by
SELECT field_5, record_meta_keywords
FROM cms_custom_database_1
WHERE field_5 > ''
ORDER BY field_5
DESC LIMIT 10
如果你想要不同的价值,那么使用distinct
在SQL中不推荐使用没有聚合函数的group by
,在最新版本的mysql中不允许(默认情况下),并且与其他版本(<5.7)产生不可预测的结果
在您的情况下,如果您想查看所有结果,那么只需删除order by
另一答案
您明确指出 - 通过group by
- 您希望结果集中只有一行用于field_5
的每个值。
这给你留下了两个选择。一个是删除GROUP BY
:
SELECT field_5, record_meta_keywords
FROM cms_custom_database_1
WHERE field_5 > ''
ORDER BY field_5 DESC
LIMIT 10
另一种是将其他数据合并为一列:
SELECT field_5, GROUP_CONCAT(record_meta_keywords) as record_meta_keywords
FROM cms_custom_database_1
WHERE field_5 > ''
GROUP BY field_5
ORDER BY field_5 DESC
LIMIT 10
另一答案
GROUP BY
返回唯一(即不同)的事件。从查询语句中取出它。
以上是关于SQL显示重复条目的主要内容,如果未能解决你的问题,请参考以下文章
NativeQuery 删除重复的 Oracle SQL Db 表条目不起作用(参见代码)
使用 C# 和 SQL 解决 datagridview 中重复条目的最佳方法是啥?
在片段中显示适当的 SQLite 数据(相同的条目出现在不同的选择条目中)