mysql - 按提供范围内每个日期的历史日期分组

标签 mysql sql sql-server

我已经坚持了好几天了。想要按历史日期对 SQL 结果集进行分组。因此希望结果按指定日期范围内每个日期的日期进行分组,一直追溯到过去。到目前为止,这是我的 sql,但它按日期而不是历史日期对结果进行分组。

请帮忙!

SELECT ledger.transdate,
sum(case when transcodes.dtcr = 'C' then ledger.amount else 0 end) Credit,
sum(case when transcodes.dtcr = 'D' then ledger.amount else 0 end) Debit,
sum(case when transcodes.dtcr = 'C' then ledger.amount else 0 end) -
sum(case when transcodes.dtcr = 'D' then ledger.amount else 0 end) Balance
FROM
  LEDGER
  INNER JOIN TRANSCODES ON (LEDGER.TRANSCODE = TRANSCODES.TRANSCODE)
 where ledger.transdate >= '2013-02-28' and ledger.transdate <= '2013-03-01'
 group by ledger.transdate

最佳答案

也许考虑这个例子......

SELECT * FROM ints;
+---+
| i |
+---+
| 0 |
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
+---+

 SELECT x.i, SUM(y.i) running FROM ints x JOIN ints y ON y.i <= x.i GROUP BY i;
+---+---------+
| i | running |
+---+---------+
| 0 |       0 |
| 1 |       1 |
| 2 |       3 |
| 3 |       6 |
| 4 |      10 |
| 5 |      15 |
| 6 |      21 |
| 7 |      28 |
| 8 |      36 |
| 9 |      45 |
+---+---------+

关于mysql - 按提供范围内每个日期的历史日期分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17441500/

相关文章:

c# - 无法匹配破折号之间的值

mysql - 需要 SQL 语句帮助

jquery - 检索标签兄弟时进行标签搜索

php - Laravel 4 急切加载关系问题

java - 如何使用 Xtend 连接到 MySQL 数据库。

sql - 游标 SQL_CURLH200C1 未处于准备状态

mysql - where 子句中的动态参数

sql-server - 使用适用于 SQL Server 的新 ODBC 驱动程序连接到 LocalDB

sql - .NET/SQL 中的参数化表名?

基于 SELECT 的 SQL 条件 UPDATE