求sql

Love001 2012-03-16 11:01:19
CREATE TABLE T_Test(id nvarchar(20),coun nvarchar(20),FName nvarchar(50))

INSERT INTO t_test values('1','A','刘德华');
INSERT INTO t_test values('2','B','张学友');
INSERT INTO t_test values('3','C','黎明');
INSERT INTO t_test values('4','C','黎明');
INSERT INTO t_test values('4','C','黎明');

结果:
id coun fname
1 A 刘德华
2 B 张学友
3 C 黎明
...全文
49 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2012-03-16
  • 打赏
  • 举报
回复
如果只针对一个字段,fname或coun则,参考2楼,是同时针对这两个字段,则参考如下:
CREATE TABLE T_Test(id nvarchar(20),coun nvarchar(20),FName nvarchar(50))

INSERT INTO t_test values('1','A','刘德华');
INSERT INTO t_test values('2','B','张学友');
INSERT INTO t_test values('3','C','黎明');
INSERT INTO t_test values('4','C','黎明');
INSERT INTO t_test values('4','C','黎明');

select t.* from t_test t where id = (select min(id) from t_test where coun = t.coun and FName = t.FName) order by t.id

select t.* from t_test t where not exists (select 1 from t_test where coun = t.coun and FName = t.FName and id < t.id) order by t.id

select min(id) id , coun , fname from t_test group by fname, coun order by id

drop table t_test

/*
id coun FName
-------------------- -------------------- --------------------------------------------------
1 A 刘德华
2 B 张学友
3 C 黎明

(所影响的行数为 3 行)

id coun FName
-------------------- -------------------- --------------------------------------------------
1 A 刘德华
2 B 张学友
3 C 黎明

(所影响的行数为 3 行)

id coun fname
-------------------- -------------------- --------------------------------------------------
1 A 刘德华
2 B 张学友
3 C 黎明

(所影响的行数为 3 行)
*/
dawugui 2012-03-16
  • 打赏
  • 举报
回复
CREATE TABLE T_Test(id nvarchar(20),coun nvarchar(20),FName nvarchar(50))

INSERT INTO t_test values('1','A','刘德华');
INSERT INTO t_test values('2','B','张学友');
INSERT INTO t_test values('3','C','黎明');
INSERT INTO t_test values('4','C','黎明');
INSERT INTO t_test values('4','C','黎明');

select t.* from t_test t where id = (select min(id) from t_test where FName = t.FName) order by t.id

select t.* from t_test t where not exists (select 1 from t_test where FName = t.FName and id < t.id) order by t.id

select min(id) id , min(coun) coun , fname from t_test group by fname order by id

drop table t_test

/*
id coun FName
-------------------- -------------------- --------------------------------------------------
1 A 刘德华
2 B 张学友
3 C 黎明

(所影响的行数为 3 行)

id coun FName
-------------------- -------------------- --------------------------------------------------
1 A 刘德华
2 B 张学友
3 C 黎明

(所影响的行数为 3 行)

id coun fname
-------------------- -------------------- --------------------------------------------------
1 A 刘德华
2 B 张学友
3 C 黎明

(所影响的行数为 3 行)

*/
AcHerat 2012-03-16
  • 打赏
  • 举报
回复

select min(id) id,coun,fname
from T_Test
group by coun,fname

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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