在SQL Server中按两个参数分组

时间:2019-03-05 00:50:11

标签: sql sql-server

我有一个具有以下结构的表:

id | timestamp | barcode

时间戳是日期时间,条形码是完整条形码,我只需要前9位即可。

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

所以我基本上需要这样的结果:

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

项目编号为left(barcode, 9)

2 个答案:

答案 0 :(得分:2)

您可以尝试以下操作-使用cast()将时间戳转换为日期,然后将其添加为

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

答案 1 :(得分: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