如何选择和排序不在Groupy中的列按SQL语句 – Oracle
发布时间:2021-04-03 11:34:50 所属栏目:MsSql教程 来源:网络整理
导读:我有以下声明: SELECT IMPORTID,Region,RefObligor,SUM(NOTIONAL) AS SUM_NOTIONALFrom PositionsWhere ID = :importIDGROUP BY IMPORTID,RefObligorOrder BY IMPORTID,RefObligor 表格中存在一些额外的列,我想作为“显示数据”的输出,但我不希望在group by
|
我有以下声明: SELECT
IMPORTID,Region,RefObligor,SUM(NOTIONAL) AS SUM_NOTIONAL
From
Positions
Where
ID = :importID
GROUP BY
IMPORTID,RefObligor
Order BY
IMPORTID,RefObligor
表格中存在一些额外的列,我想作为“显示数据”的输出,但我不希望在group by语句中. 这些是Site,Desk 最终输出将包含以下列: IMPORTID,Site,Desk,SUM(NOTIONAL) AS SUM_NOTIONAL 理想情况下,我希望数据排序如下: Order BY
IMPORTID,RefObligor
怎么做到这一点? 解决方法包含不属于GROUP BY子句的列是没有意义的.考虑一下SELECT子句中是否有MIN(X),MAX(Y),其他列(未分组)应该来自哪一行?如果您的Oracle版本足够新,则可以使用SUM-OVER()来显示针对每个数据行的SUM(分组). SELECT
IMPORTID,SUM(NOTIONAL) OVER(PARTITION BY IMPORTID,RefObligor) AS SUM_NOTIONAL
From
Positions
Where
ID = :importID
Order BY
IMPORTID,RefObligor
或者,您需要从Site,Desk列中进行聚合 SELECT
IMPORTID,Min(Site) Site,Min(Desk) Desk,Min(Site),Min(Desk),RefObligor (编辑:天瑞地安资讯网_黄海网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 何时在重建索引时使用sort_in_tempdb?
- 如何从linq查询中查看生成的sql
- .net – 数据库本地化 – 查找列表 – 更智能的方式
- sql-server – 如何创建一系列连接稀疏数据的月份?
- sql-server – 将参数传递给TADOStoredProc(Delphi)的更好方
- sql – 没有“身份”获取下一个ID号的最佳方法
- sql-server – SQL Server差异(与交叉相反)
- sql-server – 如何从一个存储过程启动3个存储过程时回滚
- 实体框架 – 具有Identity列的SQL Server Compact 4.0表中插
- sql – Doctrine 2.1其中外键id =?,编辑:在Doctrine 2.2中
站长推荐
热点阅读


