mysql - 获取行总和并保留每行数据

标签 mysql sql

这就是我想要做的:

获取按日期分组的所有行的总和

单独获取所有行

我已经成功完成了...问题是我希望整体改变顺序

这是我的表格列

[id][日期][数量]

例如:

1, 2013-10-01, 102.10

2, 2013-10-01, 256.15

3, ...

用外行的话说,我得到的输出,

前x行是按日期分组的总数

其余行是个人金额

通俗地说,我想要的输出,

第一行是以下各行的日期总和,然后冲洗并重复。

2013-10-01, 200.00 <-- 总计

2013-10-01, 150.00

2013-10-01, 50.00

2013-10-02, 300.00 <-- 总计

2013-10-02, 150.00

2013-10-02, 150.00

这是我的查询:

SELECT
    t.date,
    round(sum(t.amount), 2) as total
FROM invoice t
GROUP BY t.date
UNION ALL
SELECT
    t.date,
    round(t.amount, 2)
FROM invoice t;

请参阅我的示例 SQLFiddle !

提前感谢您对此提供的任何帮助。

最佳答案

假设您的意思是您想要按日期更改结果的顺序(我通常不会做出这样的假设),您只需要在您的 sql 中添加一个“ORDER BY”。下面应该可以解决问题。

SELECT
    t.date,
    round(sum(t.amount), 2) as total
FROM invoice t
GROUP BY t.date
UNION ALL
SELECT
    t.date,
    round(t.amount, 2)
FROM invoice t
ORDER BY date

关于mysql - 获取行总和并保留每行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19284311/

相关文章:

java - 在 jOOQ 的 SQL 查询中结合普通 SQL 和 DSL

sql - VARCHAR 与 TEXT 或 LONGTEXT

MYSQL 查询帮助- Substring 和 Instring

mysql - 从 web2py 中的 Controller 更新记录

mysql - MySql中的SQL查询去重

php - 我需要防止输入重复的数据。我基于以下几点;名字、姓氏和电话

mysql - sql 不正确的日期时间值

sql - 如何在 id 字段上可能有匹配项的地方添加一个新列

php - mysql排序大于

Mysql 查询过去 14 天的事件(每两周一次)