有这表是这样的:
id xm mc fs sj
1 小王 语文 98 2013-06-17
2 小王 语文 80 2013-06-12
3 小红 语文 90 2013-06-17
4 小红 语文 95 2013-06-13
5 小李 语文 90 2013-06-17
要求写一要sql语句实现每个学生的语文课的第一次考试的成绩,表里存多次考试成绩。
结果应该是:
id xm mc fs sj
2 小王 语文 80 2013-06-12
4 小红 语文 95 2013-06-13
5 小李 语文 90 2013-06-17
id xm mc fs sj
1 小王 语文 98 2013-06-17
2 小王 语文 80 2013-06-12
3 小红 语文 90 2013-06-17
4 小红 语文 95 2013-06-13
5 小李 语文 90 2013-06-17
要求写一要sql语句实现每个学生的语文课的第一次考试的成绩,表里存多次考试成绩。
结果应该是:
id xm mc fs sj
2 小王 语文 80 2013-06-12
4 小红 语文 95 2013-06-13
5 小李 语文 90 2013-06-17
解决方案 »
- winform界面响应和键盘事件
- RichTextBox怎么实现替换
- 关于excel操作的问题(如何在excel中找到某一个值,然后返回行号和列号)
- 我的程序一运行就提示:Dispose错误.
- 关于DataGrid的2个问题
- 求助!From中图片透明色问题!
- 如何将中日英文同时显示在页面上
- (winFrom)求类似Microsoft Visual Studio .NET 2003 文档中的索引功能的解决思路
- Avalon May CTP已经出来了!!!!!!!
- 求c#如何删除html源码中的链接标记
- C#内这种事务怎么写代码?问题+散分
- 【求助】关于内存映射文件MemoryMappedFile的Capacity属性
Create table AB
(
id int primary key identity(1,1),
xm nvarchar(8),
mc nvarchar(30),
fs float,
sj date
)
insert into AB
select '小王', '语文', 98 , '2013-06-17'
union all
select '小王', '语文', 80 , '2013-06-12'
union all
select '小红', '语文', 90 , '2013-06-17'
union all
select '小红', '语文', 95 , '2013-06-13'
union all
select '小李', '语文', 90 , '2013-06-17'
select t1.* from AB t1,
(select t.xm,MIN(t.sj) sj from AB t group by t.xm) t2where t1.xm=t2.xm and t1.sj=t2.sj
order by t1.sj
/*
id xm mc fs sj
----------- -------- ------------------------------ ---------------------- ----------
2 小王 语文 80 2013-06-12
4 小红 语文 95 2013-06-13
5 小李 语文 90 2013-06-17(3 行受影响)
*/
union
select 2 as id,N'小王' as xm,N'语文' as mc,80 as fs,'2013-06-12' as sj
union
select 3 as id,N'小红' as xm,N'语文' as mc,90 as fs,'2013-06-17' as sj
union
select 4 as id,N'小红' as xm,N'语文' as mc,95 as fs,'2013-06-13' as sj
union
select 5 as id,N'小李' as xm,N'语文' as mc,90 as fs,'2013-06-17' as sjselect * from (
select *,(select min(sj) from #A where xm=A.xm and mc=a.mc) as minDate from #A A ) A
where sj=minDate