ID 编号
———————
1 A101
———————
2 A101
———————
3 B101
———————
4 B102
———————
5 B101我想输出的是
2 A101
3 B101
4 B102也就是要求输出每一个编号,如果有编号重复的,就输出ID最大的一个编号我试过分开表可以做到。但是那样有点麻烦。所以跑到csdn上来问问专家们。看如何解决!
———————
1 A101
———————
2 A101
———————
3 B101
———————
4 B102
———————
5 B101我想输出的是
2 A101
3 B101
4 B102也就是要求输出每一个编号,如果有编号重复的,就输出ID最大的一个编号我试过分开表可以做到。但是那样有点麻烦。所以跑到csdn上来问问专家们。看如何解决!
Select A.* From TableName A
Inner Join (Select Max(ID) As ID,编号 From TableName Group By 编号) B
On A.编号=B.编号 And A.ID=B.ID
Select A.* From TableName A
Where Not Exists (Select 1 From TableName Where 编号=A.编号 And ID>A.ID)
Create Table TEST
(ID Int,
编号 Varchar(4))
Insert TEST Select 1, 'A101'
Union All Select 2, 'A101'
Union All Select 3, 'B101'
Union All Select 4, 'B102'
Union All Select 5, 'B101'
GO
--測試
--方法一
Select A.* From TEST A
Inner Join (Select Max(ID) As ID,编号 From TEST Group By 编号) B
On A.编号=B.编号 And A.ID=B.ID
Order By A.ID
--方法二
Select A.* From TEST A
Where Not Exists (Select 1 From TEST Where 编号=A.编号 And ID>A.ID)
Order By A.ID
--方法三
Select A.* From TEST A
Where ID=(Select Max(ID) From TEST Where 编号=A.编号)
Order By A.ID
--刪除測試環境
Drop Table TEST
--結果
/*
ID 编号
2 A101
4 B102
5 B101
*/
from tablename
group by 编号
create table test
(id int ,编号 nvarchar(30))
insert test select 1,'A101'
union select 2,'A101'
union select 3,'B101'
union select 4,'B102'
union select 5,'B101'select * from test where id In(
select max( id) from test group by 编号 )
drop table test
Select A.* From TableName A
Where Not Exists (Select 1 From TableName Where 编号=A.编号 And ID>A.ID)这个A是你建立的表?
我的意思是直接在我的表addmoney里操作。
A这里的意思不明白。糊涂了。我把A改成我的表名字全部输出了
/*
ID 编号
2 A101
4 B102
5 B101
*/
laoliu666() 你好过分。哈哈。
没仔细看就把drop用上了。结果不小心把我的表给丢了。好象还有备份。
Drop Table TEST你只需要中間測試那幾句。
如果只有兩個字段,直接
Select Max(ID) As ID,编号 From TableName Group By 编号將TableName 改為你的表名
Select Max(ID) As ID,编号 From addmoney Group By 编号--如果表中不止兩個字段
--方法一
Select A.* From addmoney A
Inner Join (Select Max(ID) As ID,编号 From addmoney Group By 编号) B
On A.编号=B.编号 And A.ID=B.ID
Order By A.ID
--方法二
Select A.* From addmoney A
Where Not Exists (Select 1 From addmoney Where 编号=A.编号 And ID>A.ID)
Order By A.ID
--方法三
Select A.* From addmoney A
Where ID=(Select Max(ID) From addmoney Where 编号=A.编号)
Order By A.ID