感觉WHERE子句里的条件对SELECT子句中的汇总函数都一样的,但我想对一个字段对几次条件不同的汇总,能用一条语句完成吗?比如查出一年中每个月销售总额
解决方案 »
- oQuery.SQL.Add('UPDATE t1 SET col'+colnum+'=col'+colnum+aValue);字符串怎么连接,头晕了 ...
- 请问哪有介绍DELPHI组件的电子书。找到立刻结贴,谢谢了。
- 那个取得操作系统所在路径的函数: GetSystemDirectory怎么用的?很急!
- 如何给窗口边框加上颜色
- 请 Delphi高手来座谈 ?????-----当场给分100
- b/s结构activex高手请进!100分!
- 一个简单的问题
- 我怎么样用TABLE控件操作多个DB库
- 数据库表如何初始化路径?
- ClientDataSet多表查询单表更新
- 问题:有没有这样的现成图表控件?
- 刚接到一项目:公共汽车调度系统,不知从何下手?请各位前辈给点资料……
每次销售都有一条纪录。select sum(销售数量) where 年份=2003 group by 月份没测试,应该是这样的
INSERT INTO #aa VALUES('2003-1-3',600)
INSERT INTO #aa VALUES('2003-2-1',200)
INSERT INTO #aa VALUES('2003-3-1',100)
INSERT INTO #aa VALUES('2003-3-10',200)
INSERT INTO #aa VALUES('2003-4-1',600)
INSERT INTO #aa VALUES('2003-4-5',500)
INSERT INTO #aa VALUES('2003-4-9',300)SELECT DATEPART(MM,COL1) AS 月份,SUM(SALES) AS 销量
FROM #aa WHERE DATEPART(YY,COL1) ='2003' GROUP BY DATEPART(MM,COL1)DROP TABLE #aa
FROM
(SELECT * FROM TABLE
WHERE MONTH=1) A,
(SELECT * FROM TABLE
WHERE MONTH=2) B,
(SELECT * FROM TABLE
WHERE MONTH=3) C,
.
.
.
(SELECT * FROM TABLE
WHERE MONTH=12) L
可以用sum(case when substring(rq,3,2)='01' then amount else 0 end) as 一月,
case when substring(rq,3,2)='02' then amount else 0 end) as 二月
..........................................