标题:SQL数据统计——请指教谢谢
只看楼主
cww4167
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-11-10
 问题点数:0 回复次数:1 
SQL数据统计——请指教谢谢
有一个表tb 数据如下
name time weight
张三 2012-7-20 12:12:20 50
李四 2012-7-21 12:12:20 60
张三 2012-7-21 12:12:20 51
李四 2012-7-22 12:12:20 61
张三 2012-7-22 12:12:20 52
李四 2012-7-23 12:12:20 62
张三 2012-7-23 12:12:20 53
李四 2012-7-24 12:12:20 63
统计成:
姓名 开始日期 结束日期 开始体重 结束体重 增重 测定天数 平均日增重
张三 2012-7-20 2012-7-23 50 53 3 3 1
李四 2012-7-21 2012-7-24 60 63 3 3 1
我只知道初步的语句
请高手指教,谢谢
select name[姓名],Min(convert(varchar(10),time,120))[开始日期],Max(convert(varchar(10),time,120))[结束日期],?[开始体重],?[结束体重],(结束体重-开始体重)[增重],?[测定天数],增重/测定天数[平均日采食量]
FROM tb   
group by name
2012-07-24 23:07
人走茶凉
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-8-3
得分:0 
select t.name,min(t.time) as "开始时间",max(t.time) as "结束时间",
(case when t.time=min(t.time) then t.weight else 0 end) as "开始体重",
(case when t.time=max(t.time) then t.weight else 0 end) as "结束体重",
((case when t.time=max(t.time) then t.weight else 0 end)-(case when t.time=min(t.time) then t.weight else 0 end)) "增重",
trunc( max(t.time))-trunc(min(t.time)) "测定天数",
((case when t.time=max(t.time) then t.weight else 0 end)-(case when t.time=min(t.time) then t.weight else 0 end))/(trunc( max(t.time))-trunc(min(t.time))) "平均日增重"
from tb t
group by t.name

只是一种思路,望采纳~~~~~~
2012-08-03 11:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-374062-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.054529 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved