求一条SQL语句
时间:2011-11-17
来源:互联网
有表A:
a b c
1 33 kk
2 33 kk
3 33 mm
4 55 mm
5 66 kk
6 66 ff
要得到以下结果:
a b c
3 33 mm
5 66 kk
6 66 ff
即查出b列相同而c列不同的记录
a b c
1 33 kk
2 33 kk
3 33 mm
4 55 mm
5 66 kk
6 66 ff
要得到以下结果:
a b c
3 33 mm
5 66 kk
6 66 ff
即查出b列相同而c列不同的记录
作者: lsp69 发布时间: 2011-11-17
SQL code
WITH a AS (SELECT 1 a, 33 b, 'kk' c FROM DUAL UNION ALL SELECT 2, 33, 'kk' FROM DUAL UNION ALL SELECT 3, 33, 'mm' FROM DUAL UNION ALL SELECT 4, 55, 'mm' FROM DUAL UNION ALL SELECT 5, 66, 'kk' FROM DUAL UNION ALL SELECT 6, 66, 'ff' FROM DUAL) SELECT a, b, c FROM (SELECT a, b, c, COUNT (1) OVER (PARTITION BY b) b_count, COUNT (1) OVER (PARTITION BY c, b) c_count FROM a) WHERE c_count = 1 AND b_count > 1
作者: tx2730 发布时间: 2011-11-17
SQL code
这个需求比较奇怪,按理说,应该B和C如果一样,为什么33 kk
不显示呢?
作者: cosio 发布时间: 2011-11-17
select distinct a1.a, a1.b, a1.c
from A a1 inner join A a2 on a1.b = a2.b
where a1.c <> a2.c
from A a1 inner join A a2 on a1.b = a2.b
where a1.c <> a2.c
作者: moonlighter 发布时间: 2011-11-17
SQL code
正解
Select distinct a1.a, a1.b, a1.c from A a1 inner join A a2 on a1.b = a2.b where a1.c <> a2.c
正解
作者: xunmengzhi 发布时间: 2011-11-17
经检测一楼 tx2730 得出的结果符合楼主要求。
作者: lisong770818 发布时间: 2011-11-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28