怎么用SQL筛选数据库重复记录

怎么用SQL筛选数据库重复记录,第1张

用group by语句可以筛选重复数据

1、创建测试表、插入数据

create table test

(id int,

name varchar(10))

insert into test values (1,'张三')

insert into test values (2,'李四')

insert into test values (3,'王五')

insert into test values (4,'赵六')

insert into test values (1,'张三')

insert into test values (2,'李四')

2、现在要筛选出重复数据,使查询的数据不重复,可用语句

select id,name from test group by id,name

3、结果如图:

方法如下:

select

*

from

你的表名

a

where

id=(select

min(id)

from

你的表名

whereitem_id=a.item_id)

在查询之前先把数据库表中的第一行复制到sid里在去,然后让sid和下面的每一行进行比较

取所有相同的行的最小的一下,也可以取最大的,结果是一样的。

这样让所有的行都比较不就得到不重复的数据了。

说明:下面举例假释文章ID为顺序编号,AUTO INC特性。如果ID没有此特性,可以通过另外的DATE类型字段查找,语句类似。

如果你各频道只取最新的一篇,那么可以取MAX(ID)用GROUP BY 频道进行分类,完整的语句是“SELECT 频道, MAX(ID) FROM 表 GROUP BY 频道”,这样可以返回每个频道的最新文章,然后再用一个“SELECT * FROM 表 WHERE ID=?”来获取文章的具体内容。

如果你需要获取各 频道 的最新文章多篇,那么必须用循环语句分别对所有频道进行循环,取各个频道的最新文章N篇,没有任何简便方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10829704.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存