首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL多行字段分组有关问题

2012-03-13 
SQL多行字段分组问题表如1 5 发 人1 6 哈 与1 7 一 放2 5 虾 你2 6 屁 股2 8 怕 爬8 5 富 阿8 7 倒 萨8 8

SQL多行字段分组问题
表如
1 5 发 人
1 6 哈 与
1 7 一 放
2 5 虾 你
2 6 屁 股
2 8 怕 爬
8 5 富 阿
8 7 倒 萨
8 8 但 怕
结果如
1 7 一 放
2 8 怕 爬
8 8 但 怕

[解决办法]

SQL code
select * from tb t where col2=(select max(col1) from tb where col1=t.col1)
[解决办法]
SQL code
declare @表 table (id int,c1 int,c2 varchar(2),c3 varchar(2))insert into @表select 1,5,'发','人' union allselect 1,6,'哈','与' union allselect 1,7,'一','放' union allselect 2,5,'虾','你' union allselect 2,6,'屁','股' union allselect 2,8,'怕','爬' union allselect 8,5,'富','阿' union allselect 8,7,'倒','萨' union allselect 8,8,'但','怕'select * from @表 twhere c1=(select max(c1) from @表 where id=t.id) order by 1/*id          c1          c2   c3----------- ----------- ---- ----1           7           一    放2           8           怕    爬8           8           但    怕*/
[解决办法]
SELECT id, MAX(name)
FROM tb
GROUP BY id
HAVING COUNT(*) = 1
[解决办法]
SQL code
select *from tb twhere not exists(select 1 from tb where col1=t.col1 and col2>t.col2) 

热点排行