根据两个日期从数据库获取数据

时间:2014-06-19 12:46:28

标签: sql

SQL查询:

SELECT type, sum(A), sum(B) FROM TableA WHERE store_date BETWEEN '"+date1+"' AND '"+date2+"'group by type

date1="16/06/2014"

Date2="18/06/2014"

通过此查询,我将根据日期获得A列和B列的总和。我希望每个类型的日期1到日期2的列B的数据,但对于列A,我只想要来自date1的数据,我不想在sum(A)中包含date2

**Example(Expected Result):**

  type        sum(A)   sum(B)
-------------------------------
|  fruit     |   10 |  20      |
|            |      |          |
|            |      |          |
|            |      |          |
|            |      |          |
-------------------------------

10代表表A中对于日期为16/06/2014的A列的总和。

20代表表A中对于日期为16/06/2014至2014年6月18日的B列的总和。

1 个答案:

答案 0 :(得分:2)

试试这个

Select type, sum(case when date = date1 then A else 0 end) 'A',

sum(case when date between date1 and date2 then b else 0 end) 'B'

from table 

group by type