注册 登录
编程论坛 SQL Server论坛

谁能帮忙写个sql语句?

zlfxxxjz 发布于 2008-03-05 12:11, 1028 次点击
数据如下:
 年    序号         开始时间           停止时间        分数      对比
2008    1    2008-3-5 0:00:00    2008-4-5 0:00:00    1.00    2.0000
2008    1    2008-3-5 0:00:00    2008-4-5 0:00:00    3.00    4.0000
2008    1    2008-3-5 0:00:00    2008-4-5 0:00:00    5.00    6.0000
2008    1    2008-3-5 0:00:00    2008-4-5 0:00:00    7.00    8.0000
2008    2    2008-4-5 0:00:00    2008-5-5 0:00:00    1.00    3.3000
2008    2    2008-4-5 0:00:00    2008-5-5 0:00:00    3.00    3.0000
2008    2    2008-4-5 0:00:00    2008-5-5 0:00:00    5.00    5.0000
2008    2    2008-4-5 0:00:00    2008-5-5 0:00:00    7.00    6.0000
2008    3    2008-5-5 0:00:00    2008-6-5 0:00:00    1.00    1.2000
2008    3    2008-5-5 0:00:00    2008-6-5 0:00:00    3.00    2.5000
2008    3    2008-5-5 0:00:00    2008-6-5 0:00:00    5.00    2.0000
2008    3    2008-5-5 0:00:00    2008-6-5 0:00:00    7.00    1.0000

能不能计算出序号为1,2,3的第一条数据的平均值?以及第二条,第三条啊?谁会做啊??呵呵
5 回复
#2
provoke2008-03-05 13:51
select 平均分=avg(分数),平均对比=avg(对比) from 表名
where 序号 in (1,2,3)

where 序号 in (1,3)

where 序号 in (1,3,4,8,17)
等等
按自己的需要统计指定序号的行
如果序号取连续值还可以:
where 序号<5

where 序号 between 5 and 10

where 序号 not btrween 5 and 17
总之要灵活运用 not,in,between,以及各数学运算符等。
另外,必要时用上group by 和 having 子句分组统计和过滤。
#3
zlfxxxjz2008-03-05 15:49
这个语句我试了下啊。怎么结果只有一条数据啊?应该有4条数据啊?
#4
madpbpl2008-03-05 16:09
楼主想要的是什么结果,能否象1#列表说明一下
#5
zlfxxxjz2008-03-05 16:18
年       序号         开始时间           停止时间                  分数               对比
2008    平均值    2008-3-5 0:00:00    2008-4-5 0:00:00    平均值(序号123的第一条)    2.0000
2008    平均值    2008-3-5 0:00:00    2008-4-5 0:00:00    平均值(序号123的第二条)    4.0000
2008    平均值    2008-3-5 0:00:00    2008-4-5 0:00:00    平均值(序号123的第三条)    6.0000
2008    平均值    2008-3-5 0:00:00    2008-4-5 0:00:00    平均值(序号123的第四条)    8.0000
#6
zlfxxxjz2008-03-05 16:19
我想要的结果就是这样!
1