日期:2014-05-17  浏览次数:20469 次

跨天统计查询问题
表  tb
userid  total   intime              
 1        5      2013-05-13 01:23   这个数据计算到5月12日
 1        78     2013-05-13 09:23   这个数据计算到5月13日
 1        28     2013-05-13 22:23   这个数据计算到5月13日
 1        20     2013-05-14 02:23   这个数据计算到5月13日
 1        20     2013-05-14 06:23   这个数据计算到5月14日
 2        20     2013-05-14 08:23   这个数据计算到5月14日
 2        20     2013-05-14 08:23   这个数据计算到5月14日


intime设计到跨天(0点起顺延6个小时  为一天计算,

怎么写sql语句把以上数据表变为
userid  total   intime              
 1        5      2013-05-12    这个数据计算到5月12日
 1        78     2013-05-13   这个数据计算到5月13日
 1        28     2013-05-13    这个数据计算到5月13日
 1        20     2013-05-13  这个数据计算到5月13日
 1        20     2013-05-14    这个数据计算到5月14日
 2        20     2013-05-14    这个数据计算到5月14日
 2        20     2013-05-14   这个数据计算到5月14日

我要根据intime做group by 求  userid  total的和  谢谢




------解决方案--------------------
----------------------------
-- Author  :DBA_Huangzj(發糞塗牆)
-- Date    :2013-05-20 21:26:54
-- Version:
--      Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (Intel X86) 
-- Jun 17 2011 00:57:23 
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
--
----------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
go 
create table [tb]([userid] int,[total] int,[intime] datetime)
insert [tb]
select 1,5,'2013-05-13 01:23' union all
select 1,78,'2013-05-13 0