sql-server - 将所有小于日期范围中日期的记录与 MsSql 中的分组相加
问题描述
我有这样的记录
qty date user
1 2019-09-01 a
1 2019-09-01 b
2 2019-09-01 a
1 2019-09-01 c
1 2019-09-02 a
3 2019-09-02 c
1 2019-09-02 a
4 2019-09-03 b
1 2019-09-03 c
1 2019-09-03 a
我只想按日期和用户对 qty 的组求和,并且总和小于给定日期。决赛桌就是这样。
qty date user
3 2019-09-01 a
1 2019-09-01 b
1 2019-09-01 c
5 2019-09-02 a
5 2019-09-03 b
4 2019-09-02 c
9 2019-09-03 a
6 2019-09-03 c
有没有办法在没有while循环的情况下列出这些记录?
解决方案
尝试这样的事情,但您需要修改它以适合您的表格和 where 子句(如果有)。
SELECT
SUM(yt.qty) AS qty,
yt.date,
yt.user
FROM your_table yt
WHERE yt.date between "2019-09-01" AND "2019-09-03"
GROUP BY yt.user, yt.date
ORDER BY yt.date ASC
推荐阅读
- c++ - 在进程中对同一管道进行读取和写入时出现 C++ 管道问题
- vue.js - 在 Nuxt 从“spa”更改为“universal”,但我只得到未定义的文档
- php - 带有 bind_result() / fetch() mysqli 准备好的语句的 JSON 类型字段不起作用
- oracle - ORA-13029 - SDO_GEOMETRY 对象中的 SRID 无效
- javascript - 在选择选项之前出现框?
- c - C 程序找出二次方程的实根和复根 (ax^2 + bx + c = 0)
- javascript - 无法在 foreach 条件下使用 javascript 获取实时计算结果
- html - 尽管 z-index 内容超出了固定导航栏的顶部
- ios - 如何从 CIImage 中将 CVPixelBuffer 读取为 4 通道浮点格式?
- java - Java中列表中的项目分组