| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 404 人关注过本帖
标题: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
快速回复:SQL数据统计——请指教谢谢
数据加载中...
 
   



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

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