sql – select(Oracle)中的组编号
发布时间:2020-05-24 15:33:15 所属栏目:MsSql 来源:互联网
导读:我有一个以下示例 – 包含姓名,部门和国家/地区的表格.我需要创建一个select语句,列出所有记录,并为每个部门和国家/地区分配唯一编号(示例中的列组): Name Department Country Group====== ============ ========= =====James HR UK 1John HR
|
我有一个以下示例 – 包含姓名,部门和国家/地区的表格.我需要创建一个select语句,列出所有记录,并为每个部门和国家/地区分配唯一编号(示例中的列组): Name Department Country Group ====== ============ ========= ===== James HR UK 1 John HR UK 1 Alice Finance UK 2 Bob Finance DE 3 Frank Finance DE 3 我想到了一些具有分析功能的select,但我发现只有row_number()over(按部门划分,国家/地区),它在组内编号记录而不是组本身.你知道如何解决这个问题吗?谢谢! 解决方法SELECT t.*,q.grp
FROM (
SELECT q.*,rownum AS grp
FROM (
SELECT DISTINCT department,country
FROM mytable
ORDER BY
department,country
) q
) q
JOIN mytable t
ON t.department = q.department
AND t.country = q.country
要么 SELECT t.*,DENSE_RANK() OVER (ORDER BY department desc,country desc) AS grp FROM mytable (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- MYSQL METADATA LOCK(MDL LOCK)MDL锁问题分析
- 复杂SQL连接与group by
- sqlcmd – 如何在没有空格的情况下绕过列长度限制?
- entity-framework-4 – EF4跨数据库关系
- sql-server – 了解SQL Server中的COMPATIBILITY_LEVEL
- DB2死锁超时Sqlstate:40001,原因代码68是由于使用SQL从ser
- mysql默认编码为UTF-8 通过修改my.ini实现方法
- 参考sql2012存储过程写的统计所有用户表尺寸大小的示例
- SQL Server 索引维护sql语句
- ms-access – SQL视图中“执行查询”的快捷键
