SQL数据库查询去除重复的关键字是什么?

SQL数据库查询去除重复的关键字是什么?,第1张

DISTINCT 关键字可从 SELECT 语句的结果中消除重复的行。如果没有指定 DISTINCT,将返回所有行,包括重复的行。例如,如果选择 ProductInventory 中的所有产品 ID 时没有使用 DISTINCT,将返回 1069 行。\x0d\x0a\x0d\x0a如果使用了 DISTINCT,就可以消除重复的行,只查看唯一的产品 ID:\x0d\x0a \x0d\x0aUSE AdventureWorks\x0d\x0aGO\x0d\x0aSELECT DISTINCT ProductID\x0d\x0aFROM Production.ProductInventory\x0d\x0a\x0d\x0a此查询将返回 432 行。

SQL过滤重复记录有两种办法:

通过SQL结构化查询语言来实现,在Select后面加上关键字DISTINCT,意思就是查询行无重复,注意DISTINCT关键字是针对行,不是某一列,如果想得到某一列不重复记录,那就SELECT DISTINCT后面只放一个字段

通过存储过程,过滤重复记录,存储过程逐条查询,比对之前的记录,如果有重复就跳到下一条,如果不重复游标继续。

首先,从img表中取数据库,将new_id重复的过滤掉,代码为

select

min(id)

from

img

group

by

new_id

------以new_id字段分组,取最小的ID,这个ID总不会重复了吧

然后将这个查询结果以虚拟表形式,作为过滤条件,取你所要的结果,代码为

select

T.new_id

AS

is,title,d_time,imgurl

from

news,Img

where

news.id

=

img.new_id

and

img.id

in

(select

min(id)

AS

img_id,new_id

from

img

group

by

new_id)


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

原文地址: https://outofmemory.cn/sjk/9948889.html

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

发表评论

登录后才能评论

评论列表(0条)

保存