在SQL Server中按两个参数分组

问题描述 投票:0回答:2

我有一个这种结构的表:

id | timestamp | barcode

时间戳是日期时间,条形码是一个完整的条形码,我只需要前9位数。

我需要通过一个查询获取每天每个产品的计数。

所以我基本上需要一个结果,如:

date       | item number | count
-----------+-------------+--------
12.02.2019 | 827384950   | 32

商品编号是left(barcode, 9)

sql sql-server
2个回答
2
投票

你可以尝试下面 - 使用cast()将时间戳转换为日期,然后在group by中添加

select cast([timestamp] as date),left(barcode, 9) as itemnumber,count(*)
from tablename
group by cast([timestamp] as date),left(barcode, 9)

0
投票

此查询具有更好的性能

select date, itemnumber, count(*) from
(select cast([timestamp] as date) as date,left(barcode, 9) as itemnumber
from tablename) a
group by date,itemnumber
© www.soinside.com 2019 - 2024. All rights reserved.