求一SQL语句!

trustmeok 2004-09-03 02:05:07
表t1内容如下:

a b c(字段名 a + b + c 唯一)
1 2 3
2 3 4
3 4 5
3 2 3
3 3 4
2 5 6

要求得到的结果:
3 4 5
3 2 3
3 3 4
2 5 6


规则:
1、b + c 不重复
2、优先取出a最大的值
...全文
84 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangzs8896 2004-09-03
  • 打赏
  • 举报
回复
有没有比 zjcxc(邹建) 更简单的?!

没有 ^_^
trustmeok 2004-09-03
  • 打赏
  • 举报
回复
有没有比 zjcxc(邹建) 更简单的?!

2分钟后结帐;
LoveSQL 2004-09-03
  • 打赏
  • 举报
回复
刚刚看错了
select a.*
from t1 a,(
select a=max(a),b,c
from t1
group by b,c
)b where a.a=b.a and a.b=b.b and a.c=b.c
LoveSQL 2004-09-03
  • 打赏
  • 举报
回复
select a,b,c,max(d),max(e) from yourtable group by a,b,c
zjcxc 元老 2004-09-03
  • 打赏
  • 举报
回复
select a.*
from t1 a,(
select a=max(a),b,c
from t1
group by b,c
)b where a.a=b.a and a.b=b.b and a.c=b.c
trustmeok 2004-09-03
  • 打赏
  • 举报
回复
如果说我还有d和e,那么表内容变为:(字段名 a + b + c 唯一)

a b c d e
1 2 3 1 2
2 3 4 3 4
3 4 5 5 6
3 2 3 7 8
3 3 4 9 10
2 5 6 10 11


要求得到的结果:变更为
3 4 5 5 6
3 2 3 7 8
3 3 4 9 10
2 5 6 10 11

yesterday2000 2004-09-03
  • 打赏
  • 举报
回复
create table ac(a int,b int,c int)
insert into ac
select 1,2,3
union
select 2,3,4
union
select 3,4,5
union
select 3,2,3
union
select 3,3,4
union
select 2,5,6

select * from ac
where convert (varchar (20),b)+convert (varchar (20),c) not in (select convert (varchar (20),b)+convert (varchar (20),c) from ac
group by convert (varchar (20),b)+convert (varchar (20),c)
having count(*)>1)
union
select max(a) as a,b,c from ac
where convert (varchar (20),b)+convert (varchar (20),c) in (select convert (varchar (20),b)+convert (varchar (20),c) from ac
group by convert (varchar (20),b)+convert (varchar (20),c)
having count(*)>1)
group by b,c
zjcxc 元老 2004-09-03
  • 打赏
  • 举报
回复

select a=max(a),b,c
from t1
group by b,c

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧