选择总和和多行的语句

Posted

技术标签:

【中文标题】选择总和和多行的语句【英文标题】:Select statement with sum and multi-rows 【发布时间】:2017-06-29 18:26:57 【问题描述】:
select Document_id, Document_date, sum(document_money)
from documents
group by Docuemnt_id, Docuement_date; 

第一个查询检索以下结果:

1    01-FEB-2017      10000
2    02-FEB-2017      20000
3    03-FEB-2017      10000

查询 #2:

select document_id, Document_date, document_money, document_details
from documents ; 

结果:

1    01-FEB-2017      5000       rentment
1    01-FEB-2017      5000       food
2    02-FEB-2017      10000      car
2    02-FEB-2017      10000      house
3    03-FEB-2017      7000       mobiles
3    03-FEB-2017      3000       drinks

我怎样才能创建一个查询给我document_no, the_date, 金额及详情如下:

 1    01-FEB-2017      10000      rentment
 1    01-FEB-2017      10000      food
 2    02-FEB-2017      20000      car
 2    02-FEB-2017      20000      house
 3    03-FEB-2017      10000      mobiles
 3    03-FEB-2017      10000      drinks

【问题讨论】:

mysql?还是甲骨文?或者两者兼而有之(真的吗?) - 每当您发帖时,请查看 *** 附加到您帖子的标签,它们总是错误的。选择真正适用于您的问题的标签。 请正确标记。如果我们为错误的数据库编写答案是没有用的。 抱歉错误。但据我所知,答案是一样的。无论如何,它适用于 oracle database8i 【参考方案1】:

您需要使用分析 SUM() 函数:

select document_id, document_date, 
       sum(document_money) over (partition by document_id, document_date) as sum_money,
       document_details
from   documents;

【讨论】:

以上是关于选择总和和多行的语句的主要内容,如果未能解决你的问题,请参考以下文章

多行总和和计算字段

获取存在于多行和两列MySql PHP中的团队的得分总和

Mysql按多行总和/或嵌套总和排序?

另一个表中的多行(与另一个表相关)记录的总和

如何编写从多个表中获取多行数量总和的查询?

VC6.0中有啥快捷键可以注释多行语句吗?