【发布时间】:2018-01-05 10:01:12
【问题描述】:
我正在为餐厅/酒吧开发仪表板。
我想操作日期,例如:
如果他们在 1 月 2 日 ,01h30 卖东西。 该金额应添加到 1 月 1 日的金额中,而不是 1 月 2 日的金额中。 所以基本上在第二天从 00h00 到 03h59,他们卖出的数量,应该加到前一个日期。
目前,我的 SQL 查询只显示两个日期,但我希望将其分组为 1 个日期。如果 SQL 无法做到这一点,我的仪表板是用 PHP 编写的,所以如果有人可以提供该信息,我最终可以在 PHP 中操作它。
我的查询
select CONVERT(CHAR(10), receiptdatetime, 120), datename(DW,receiptdatetime),
sum(rld.NetAmount), count(rl.ReceiptId)
from receipt r, receiptline rl, vw_ReceiptLineDetail rld
where rl.ReceiptId = r.ReceiptId and
rl.ModifiedKind != 300
and rld.ReceiptLineId = rl.ReceiptLineId and
receiptdatetime <= DATEADD(HOUR,4,DATEADD(DAY,1, '01/01/2018'))
and receiptdatetime >= DATEADD(HOUR,4,'01/01/2018')
group by CONVERT(CHAR(10), receiptdatetime, 120), datename(DW, receiptdatetime)
order by 1
所以现在的输出是这样的(缩短的):
Date Amount
1 01/01/2018 100
2 02/01/2018 20
但我想要这样
Date Amount
1 01/01/2018 120
【问题讨论】:
标签: php sql sql-server date datetime