关于查找数据库SQL中重复项问题

关于查找数据库SQL中重复项问题,第1张

select f1,f2,f3

from tablename

where f3 in (select f3 from tablename group by f3 having count()>1)

这个是个SQL行转列的问题,例子如下:

Create table test (yhmc char(10),splb char(10),xfe int,xfsj char(10))

go

insert test values('张三','语文',80,'2007-10-01')

insert test values('张三','语文',80,'2007-10-01')

insert test values('张三','数学',86,'2007-10-01')

insert test values('张三','英语',75,'2007-10-01')

insert test values('李四','语文',78,'2007-10-01')

insert test values('李四','数学',85,'2007-10-01')

insert test values('李四','英语',78,'2007-10-01')

declare @sql varchar(8000)

set @sql = 'select yhmc'

select @sql = @sql + ',sum(case splb when '''+splb+''' then xfe end) ['+splb+']'

from (select distinct splb from test) as a

select @sql = @sql+' from test group by yhmc'

exec(@sql)

drop table test

以上SQLServer2000测试通过

我的你用的前面的Test只是我做的测试数据,你用的只是

declare @sql varchar(8000)

set @sql = 'select yhmc'

select @sql = @sql + ',sum(case splb when '''+splb+''' then xfe end) ['+splb+']'

from (select distinct splb from test) as a

select @sql = @sql+' from test group by yhmc'

exec(@sql)

然后说一句,我这个行转列只是一个把2个SQL拼在一起的方式,不好再省了,要不你做个视图放到数据库里面去,试试查询这个视图吧

3)好吧,给你一个我认为不太好的答案

select yhmc '用户名称',sum(case splb when 'A类消费'then xfe else 0 end) 'A类消费',

sum(case splb when 'B类消费'then xfe else 0 end) 'B类消费',

sum(case splb when 'C类消费'then xfe else 0 end) 'C类消费'

from test group by yhmc

SQL语句查数据库中某一列是否有重复项

SELECT

某一列,

COUNT( 某一列 )

FROM

GROUP BY

某一列

HAVING

COUNT( 某一列 ) 〉1

这样查询出来的结果, 就是 有重复, 而且 重复的数量。

以上就是关于关于查找数据库SQL中重复项问题全部的内容,包括:关于查找数据库SQL中重复项问题、数据库重复项查询、SQL语句查数据库中某一列是否有重复项等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存