![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
SQL 查询结果中得到指定列唯一的结果
SQL查询结果中得到如下结果:1.A1B1C1D12.A1B1C2D23.A1B2C3D3我希望得到下面结果1.A1B1C1D13.A1B2C3D3A和B在结果中要唯一,...
SQL 查询结果中得到如下结果:
1. A1 B1 C1 D1
2. A1 B1 C2 D2
3. A1 B2 C3 D3
我希望得到下面结果
1. A1 B1 C1 D1
3. A1 B2 C3 D3
A和 B 在结果中要唯一, C D选择首次出现的。
请写出SQL 语句。谢谢。
select distinct A, B, C, D from table 展开
1. A1 B1 C1 D1
2. A1 B1 C2 D2
3. A1 B2 C3 D3
我希望得到下面结果
1. A1 B1 C1 D1
3. A1 B2 C3 D3
A和 B 在结果中要唯一, C D选择首次出现的。
请写出SQL 语句。谢谢。
select distinct A, B, C, D from table 展开
展开全部
select a,b,c,d from t where id in(select min(i) from t group by a,b)
追问
没有ID, 没有i
追答
1. A1 B1 C1 D1
2. A1 B1 C2 D2
3. A1 B2 C3 D3
中1.2.3.只是你的行号?
select a,b,min(c) c,min(d) d from t group by a,b
以上可以满足你的要求。建议加主键
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select *
from (select distinct A, B, C, D from table) t1
where not exists (select 1 from (select distinct A, B, C, D from table) t2 where t1.A = t2.A and t1.B = t2.B and (t1.c > t2.C OR t1.D > t2.D)
from (select distinct A, B, C, D from table) t1
where not exists (select 1 from (select distinct A, B, C, D from table) t2 where t1.A = t2.A and t1.B = t2.B and (t1.c > t2.C OR t1.D > t2.D)
追问
貌似你这个太复杂了,能简单点吗?
追答
逻辑上没有了,除非你A, B一定,C得最小是唯一的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT * INTO #t FROM (
SELECT 1 SID, 'A1' A ,'B1'B, 'C1'C, 'D1'D
UNION ALL
SELECT 2 SID, 'A1' A ,'B1'B, 'C2'C, 'D2'D
UNION ALL
SELECT 3 SID, 'A1' A ,'B2'B, 'C3'C, 'D3'D)a
SELECT * FROM (
select ROW_NUMBER() OVER (PARTITION BY A,B ORDER BY SID)hh,* from #t
)a WHERE hh = 1
SELECT 1 SID, 'A1' A ,'B1'B, 'C1'C, 'D1'D
UNION ALL
SELECT 2 SID, 'A1' A ,'B1'B, 'C2'C, 'D2'D
UNION ALL
SELECT 3 SID, 'A1' A ,'B2'B, 'C3'C, 'D3'D)a
SELECT * FROM (
select ROW_NUMBER() OVER (PARTITION BY A,B ORDER BY SID)hh,* from #t
)a WHERE hh = 1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询