标题:SQL 查询求助!
只看楼主
ywyql_84
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:54
专家分:180
注 册:2011-4-4
结帖率:22.22%
已结贴  问题点数:20 回复次数:11 
SQL 查询求助!
有个TUSER表如下:
ID   A    B    C   D
 1  刘涛  男  30  2684
 2  张海  男  28  3205
 3  王雨  女  25  2315
 4  刘涛  男  30  2684
 5  张海  男  28  3205
 6  陈丽  女  26  1029
 7  陈锋  男  32  3369

如何把重复的显示出来,显示方式如下:

刘涛  男  30  2684
刘涛  男  30  2684
张海  男  28  3205
张海  男  28  3205



如何把不重复的显示出来,过滤掉已经重复的,显示方式如下:

王雨   女   25   2315
陈丽   女   26   1029
陈锋   男   32   3369


搜索更多相关主题的帖子: 陈锋 陈丽 如何 
2013-09-18 10:30
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
得分:5 
重复的数据sql如下:
SELECT A,B,C,D
FROM TUSER
GROUP BY A,B,C,D
HAVING COUNT(*)>1
 
不重复的数据,过滤掉已经重复的数据,sql如下:
select A,B,C,D from TUSER
where A not in(SELECT A
FROM TUSER
GROUP BY A,B,C,D
HAVING COUNT(*)>1)

[ 本帖最后由 303770957 于 2013-9-18 12:49 编辑 ]

♂ 死后定当长眠,生前何须久睡。♀
2013-09-18 12:44
ywyql_84
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:54
专家分:180
注 册:2011-4-4
得分:0 
谢谢版主,SQL 2000的该怎么写啊。
2013-09-18 12:48
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
得分:0 
SQL 2000的语句也一样。

♂ 死后定当长眠,生前何须久睡。♀
2013-09-18 12:50
ywyql_84
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:54
专家分:180
注 册:2011-4-4
得分:0 
哦,那如果加上查询条件呢该怎么写呢?  比如要求 A,B,C的数据完全一样的,假设现在 A,B,C这3个字段中有数据是这样的:
A       B   C      D
刘涛   男   30   1234
张三   女   28   5678
刘涛   男   30   1111
张海   男   28   3205
张海   男   28   2222

要求把数据显示成:

刘涛   男  20   1234
刘涛   男  30   1111
张海   男   28   3205
张海   男   28   2222

要求:只显示A,B,C相同的数据。


2013-09-18 13:04
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
得分:0 
select A,B,C,D from TUSER
where A in(
SELECT A
FROM TUSER
GROUP BY A,B,C
HAVING COUNT(A)>1
)

♂ 死后定当长眠,生前何须久睡。♀
2013-09-18 13:17
ywyql_84
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:54
专家分:180
注 册:2011-4-4
得分:0 
学习了,谢谢楼主!
2013-09-18 13:29
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
得分:0 
别忘了及时结贴啊!

♂ 死后定当长眠,生前何须久睡。♀
2013-09-18 13:34
cai410579517
Rank: 3Rank: 3
来 自:宁德
等 级:论坛游侠
威 望:6
帖 子:128
专家分:179
注 册:2013-8-18
得分:5 
版主问下
/*SELECT A,B,C,D
FROM TUSER
GROUP BY A,B,C,D
HAVING COUNT(*)>1
用到别的表就不能用了
我里面只有
cid  cname
1    s6060   
2    s6666
用了就报错了
2013-09-18 15:13
cai410579517
Rank: 3Rank: 3
来 自:宁德
等 级:论坛游侠
威 望:6
帖 子:128
专家分:179
注 册:2013-8-18
得分:0 
报错消息
4145,级别 15,状态 1,第 1 行
在应使用条件的上下文(在 'HAVINGCOUNT' 附近)中指定了非布尔类型的表达式。
2013-09-18 15:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-420714-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.343276 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved