【发布时间】:2016-02-08 16:16:38
【问题描述】:
上次我使用了间隔,但我认为它不像我想要的那样工作, 我只想声明年份和月份。有哪位大师可以在这里教我吗?
这是作为请求的示例数据:
food_type | sales | date_sales
pizza buy 02-01-2015 12:00:00
pizza buy 02-01-2015 03:00:00
pizza sell 03-01-2015 01:00:00
pizza sell 04-01-2015 05:00:00
pizza buy 05-01-2015 02:00:00
这是我正在尝试做的示例
DECLARE @Startdate AS datetime = '02-01-2015',
@Enddate AS datetime = '05-01-2015'
SELECT TYPE_FOOD, COUNT(CASE WHEN STATUS = 'BUY' THEN 1 END) AS [INCOMING], COUNT(CASE WHEN STATUS= 'SELL' THEN 1 END) AS [OUTGOING]
FROM Shop WHERE [Something_Date] BETWEEN @StartDate AND @EndDate
或
SELECT TYPE_FOOD, COUNT(CASE WHEN STATUS = 'BUY' THEN 1 END) AS [INCOMING], COUNT(CASE WHEN STATUS= 'SELL' THEN 1 END) AS [OUTGOING],DATEDIFF(MONTH, DATE_OF_PURCHASE, @YEAR ) AS [YEAR]
FROM Shop
GROUP BY TYPE_FOOD, DATEDIFF(MONTH,DATE_OF_PURCHASE, @YEAR )
-- 我不能使用 datediff,因为我想在日期之间..
如果使用datediff,这是我能得到的最接近的查询...不再是一年了...
Food TYPE | MONTH | BUY | SELL
pizza 12 10 5
pizza 13 3 1
.... ... .. ..
pizza 32 5 2
我怎样才能使sql输出像这样:
Food TYPE | MONTH | BUY | SELL |
pizza Feb-15 10 5
pizza Mar-15 3 1
.... ... .. ..
pizza May-15 5 2
请高手帮帮我,我还是个sql初学者
【问题讨论】:
-
能否请您添加一些示例数据
-
@TheGameiswar 好的,我添加了一些示例
-
是的,在月份的倒数内@TheGameiswar
-
没有人能回答我吗?很难吗?
标签: mysql sql sql-server-2008