SQL日期分组

时间:2017-07-18 16:57:44

标签: sql date sql-server-2005 group-by

我想问一下SQL Server 2005关于与其他sum字段的日期分组。

| tanggal             | nama                    | qty  |
|---------------------|-------------------------|------|
| 2017-07-11 06:25:00 | APEL                    | 4.00 |
| 2017-07-11 06:25:00 | SUSU KENTAL MANIS PUTIH | 4.00 |
| 2017-07-11 06:29:00 | APEL                    | 4.00 |
| 2017-07-11 06:29:00 | SUSU KENTAL MANIS PUTIH | 4.00 |
| 2017-07-10 06:29:00 | APEL                    | 2.00 |
| 2017-07-10 06:29:00 | SUSU KENTAL MANIS PUTIH | 2.00 |
| 2017-07-11 00:00:00 | APEL                    | 1.00 |
| 2017-07-11 00:00:00 | SUSU KENTAL MANIS PUTIH | 1.00 |

我需要这样的结果

| Tanggal    | Barang                  | Jumlah |
|------------|-------------------------|--------|
| 2017-07-10 | APEL                    | 2.00   |
| 2017-07-10 | SUSU KENTAL MANIS PUTIH | 2.00   |
| 2017-07-11 | APEL                    | 9.00   |
| 2017-07-11 | SUSU KENTAL MANIS PUTIH | 9.00   |

这是代码

select j.tanggal [Tanggal],p.nama [Barang],sum(p.qty) [Jumlah] 
from proses p
left join jual j on j.kode=p.kode 
group by j.tanggal,p.kodeItem,p.nama,p.unit,p.kode

2 个答案:

答案 0 :(得分:0)

试试这个:

select j.tanggal [Tanggal],p.nama [Barang],sum(p.qty) [Jumlah] 

from proses p
left join jual j on j.kode=p.kode 

order by date

如果这不起作用,您可以尝试使用union而不是join。

答案 1 :(得分:0)

使用CAST将第一列从日期时间更改为日期,组中有一些不必要的列也已删除:

select 
cast(j.tanggal as date) [Tanggal],
p.nama [Barang],
sum(p.qty) [Jumlah] 
from proses p
left join jual j on j.kode=p.kode 
group by cast(j.tanggal as date),p.nama