■■求sql的对列的统计■■ (带年份的) select name, total=sum(price)from tbgroup by namehaving sum(price)>22 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select name, total=sum(price)from tbwhere year([datetime])=2009group by namehaving sum(price)>22 DECLARE @T TABLE(id INT, price INT, name NVARCHAR(10),[datetime]DATETIME) INSERT @T SELECT 1 ,20, N'一部' , '2008.09.09' INSERT @T SELECT 2 ,25 , N'一部' , '2009.02.19' INSERT @T SELECT 3 ,10 , N'一部' , '2009.02.20' INSERT @T SELECT 4 , 30 , N'二部' , '2009.03.09' INSERT @T SELECT 5, 15 , N'三部' , '2009.04.05' SELECT [NAME],SUM(PRICE)TOTAL FROM @T WHERE DATEPART(YY,[DATETIME])=2009 GROUP BY [NAME]/*NAME TOTAL---------- -----------一部 35三部 15二部 30*/ DECLARE @T TABLE(id INT, price INT, name NVARCHAR(10),[datetime]DATETIME) INSERT @T SELECT 1 ,20, N'一部' , '2008.09.09' INSERT @T SELECT 2 ,25 , N'一部' , '2009.02.19' INSERT @T SELECT 3 ,10 , N'一部' , '2009.02.20' INSERT @T SELECT 4 , 30 , N'二部' , '2009.03.09' INSERT @T SELECT 5, 15 , N'三部' , '2009.04.05' SELECT [NAME],SUM(PRICE)TOTAL FROM @T WHERE DATEPART(YY,[DATETIME])=2009 GROUP BY [NAME]HAVING SUM(PRICE)>22--大于22/*NAME TOTAL---------- -----------一部 35二部 30*/ DECLARE @T TABLE(id INT, price INT, name NVARCHAR(10),[datetime]DATETIME) INSERT @T SELECT 1 ,20, N'一部' , '2008.09.09' INSERT @T SELECT 2 ,25 , N'一部' , '2009.02.19' INSERT @T SELECT 3 ,10 , N'一部' , '2009.02.20' INSERT @T SELECT 4 , 30 , N'二部' , '2009.03.09' INSERT @T SELECT 5, 15 , N'三部' , '2009.04.05' select sum(price),[name],year([datetime]) from @T group by [name],year([datetime])sum name 年份----------- ---------- -----------20 一部 200830 二部 200915 三部 200935 一部 2009(4 行受影响) select name, sum(price) as totalfrom tbwhere year([datetime])=2009group by namehaving sum(price)>22 --原理:1、where的使用2、group by与having的结合使用 增加多一列,怎么为每列增加不同的值 求助?如何用SQL语句实现这样子的个结果集? SQL出错?? 树型表数据级别 一个sqlserver基础问题 急...........sql死锁可能会中断网络吗?服务器最近经常出现网络中断. 如何自己创建一个类似 @@Error 这样到处可用的全局变量? SOS!!!!不同数据库之间的导入!!!!! 请问组合条件查询如何写 自动搜索表A字段字段File 包含表B的字段B 的城市名 如果有包含 就插入 表B 的 C 字段ID 客户机上总是提示“list index out of bounds(0)” 急求一语句~~~
name,
total=sum(price)
from
tb
where
year([datetime])=2009
group by
name
having sum(price)>22
INSERT @T SELECT 1 ,20, N'一部' , '2008.09.09'
INSERT @T SELECT 2 ,25 , N'一部' , '2009.02.19'
INSERT @T SELECT 3 ,10 , N'一部' , '2009.02.20'
INSERT @T SELECT 4 , 30 , N'二部' , '2009.03.09'
INSERT @T SELECT 5, 15 , N'三部' , '2009.04.05'
SELECT [NAME],SUM(PRICE)TOTAL FROM @T WHERE DATEPART(YY,[DATETIME])=2009 GROUP BY [NAME]
/*NAME TOTAL
---------- -----------
一部 35
三部 15
二部 30*/
INSERT @T SELECT 1 ,20, N'一部' , '2008.09.09'
INSERT @T SELECT 2 ,25 , N'一部' , '2009.02.19'
INSERT @T SELECT 3 ,10 , N'一部' , '2009.02.20'
INSERT @T SELECT 4 , 30 , N'二部' , '2009.03.09'
INSERT @T SELECT 5, 15 , N'三部' , '2009.04.05'
SELECT [NAME],SUM(PRICE)TOTAL FROM @T WHERE DATEPART(YY,[DATETIME])=2009 GROUP BY [NAME]
HAVING SUM(PRICE)>22
--大于22
/*NAME TOTAL
---------- -----------
一部 35
二部 30*/
INSERT @T SELECT 1 ,20, N'一部' , '2008.09.09'
INSERT @T SELECT 2 ,25 , N'一部' , '2009.02.19'
INSERT @T SELECT 3 ,10 , N'一部' , '2009.02.20'
INSERT @T SELECT 4 , 30 , N'二部' , '2009.03.09'
INSERT @T SELECT 5, 15 , N'三部' , '2009.04.05' select sum(price),[name],year([datetime]) from @T group by [name],year([datetime])
sum name 年份
----------- ---------- -----------
20 一部 2008
30 二部 2009
15 三部 2009
35 一部 2009(4 行受影响)
name,
sum(price) as total
from tb
where year([datetime])=2009
group by name
having sum(price)>22
1、where的使用
2、group by与having的结合使用