[英]T-SQL select daily totals BUT daily cut off is not midnight
我需要計算銷售數量,並按日期總計銷售總額,這很容易。 但曲線間距是 - 我需要“截止”為下午6點而不是午夜。
前一天下午6點至下午6點。
扔我的是“分組”。 我的計數只是拉動真實日期而不是“下午6點”信息。
Sort30 Day30 Total Counter
-------- ---------- --------------------- -----------
20120810 08/10/2012 675.32 9
20120809 08/09/2012 1314.68 16
查詢:
SELECT top 30 CONVERT(VARCHAR(8), chickendate, 112) AS varSort30,
CONVERT(VARCHAR(10), chickendate, 101) AS varDay30,
SUM(CAST(transAmount AS money)) AS varTotal,
Count(chickendate) AS varCounter
FROM CHICKEN
WHERE
(chickendate >= dateadd(hour, 18, dateadd(day, datediff(day, 0, chickendate), -1)) AND
chickendate < dateadd(hour, 18, dateadd(day, datediff(day, 0, chickendate), 0)))
GROUP BY CONVERT(VARCHAR(8), chickendate, 112),
CONVERT(VARCHAR(10), chickendate, 101)
ORDER BY CONVERT(VARCHAR(8), chickendate, 112) DESC
四處走動,我覺得它的某些東西盯着我的臉。 謝謝。
如果我的邏輯是正確的,這應該給你正確的結果:
SELECT TOP 30
CONVERT(VARCHAR(8), modifiedChickenDate, 112) AS varSort30,
CONVERT(VARCHAR(10), modifiedChickenDate, 101) AS varDay30,
SUM(CAST(transAmount AS money)) AS varTotal,
COUNT(modifiedChickenDate) AS varCounter
FROM (
SELECT
transAmount,
DATEADD(HOUR, 6, chickendate) AS modifiedChickenDate
FROM CHICKEN
) sub
GROUP BY
CONVERT(VARCHAR(8), modifiedChickenDate, 112) AS varSort30,
CONVERT(VARCHAR(10), modifiedChickenDate, 101) AS varDay30,
ORDER BY
CONVERT(VARCHAR(8), modifiedChickenDate, 112) AS varSort30
如果chickendate是DATETIME而不是DATE,那么你可以使用
GROUP BY CONVERT(VARCHAR(10), DATEADD(hh, 6, chickendate), 101)
提前6小時(截止時間比午夜提前6小時,或下午6點),然后在一年中的一天進行分組。 這只適用於您存儲時間信息的情況,我不確定您是誰。 為必要的表發布一些模式。 但我認為你在尋找......
SELECT TOP 30 CONVERT(VARCHAR(10), DATEADD(hh, 6, chickendate), 101) as Date
, SUM(CAST(transAmount as money)) AS Total
, Count(*) as Counter
FROM Chicken
GROUP BY CONVERT(VARCHAR(10), DATEADD(hh, 6, chickendate), 101)
ORDER BY CONVERT(VARCHAR(10), DATEADD(hh, 6, chickendate), 101) DESC
怎么樣:
GROUP BY CONVERT(VARCHAR(8), dateadd(hour, 6, chickendate), 112)
所以'2012-08-09 18:00:00'
按20120810
分組, '2012-08-09 17:59:59'
按20120809
分組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.