oracle数据库分组查询group by

1、普通分组group by查询

SELECT

        "CITY_GDDWBM" AS "citygddwbm",

        "AREA_GDDWBM" AS "areagddwbm",

        "GDJMC" AS "gdjmc"

FROM

        SMBH_IGS_YYTXX

WHERE

        "CITY_GDDWBM"='0501'

GROUP BY

        "AREA_GDDWBM","CITY_GDDWBM","GDJMC"

ORDER BY

        "AREA_GDDWBM" ASC

这种group by分组查询只能让3个字段去重,多了字段的话去重无效果

2、特殊group by分组查询

select

        "YYTTYBM" AS "yyttybm",

        "CITY_GDDWBM" AS "citygddwbm",

        "AREA_GDDWBM" AS "areagddwbm",

        "GDJMC" AS "gdjmc"

from SMBH_IGS_YYTXX where ROWID IN (

        SELECT MIN(ROWID) FROM SMBH_IGS_YYTXX t GROUP BY t.AREA_GDDWBM

) AND "CITY_GDDWBM"='0501'

这种group by分组查询能让多个字段去重

3、window的oracle数据库添加用户并授予权限

(1)使用sqlplus进图oracle数据库

sqlplus / as sysdba

(2)创建新用户

create user yyzj identified by "123456";

(3)授予权限

grant create session to yyzj;

grant create table to yyzj;

grant create tablespace to yyzj;

grant create view to yyzj;

grant dba to yyzj;

4、Oracle数据库查看和添加索引

查看索引:select index_name from all_indexes where table_name = 'STRUCTURED_ADDRESS';

添加索引:CREATE INDEX IDX_ADDRESS_CODE ON STRUCTURED_ADDRESS(ADDRESS_CODE);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DM数据库中的分组查询group by)用于将结果按照指定的列进行分组,并对每个组进行聚合计算。引用中提到了在使用group by语句时的一些注意事项,包括: 1. 分组列必须明确地命名属于from子句中命名的表的一列。 2. 分组列不能是集函数表达式或在select子句中定义的别名。 3. 当分组列值包含空值时,空值会作为一个独立的组。 4. 当分组列包含多个列名时,按照group by子句中列出现的顺序进行分组。 5. group by子句中至多可以包含255个分组列。 6. ROLLUP、CUBE、GROUPING SETS的组合不能超过9个。 另外,引用中提到了COMPATIBLE_MODE参数,它表示兼容模式的设置。DM数据库支持多种兼容模式,如SQL92标准、ORACLE、MS SQL SERVER、MYSQL等。不同的兼容模式在语法和行为上可能会有差异。 在DM数据库中进行分组查询时,需要根据上述注意事项来编写正确的语句。如果出现“不是GROUP BY表达式”的错误,可以尝试使用hint参数来指示查询优化器使用特定的分组方式,如在select语句中加上 /* GROUP_OPT_FLAG(1) */ 来进行提示。 总结起来,DM数据库中的分组查询group by)是将结果按照指定的列进行分组,并对每个组进行聚合计算。在使用group by时需要注意分组列的命名、类型以及一些限制条件,同时可以根据需要设置兼容模式和使用hint参数来优化查询。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [达梦数据库(DM8),GROUP BY 表达式报错解决办法](https://blog.csdn.net/zccmp20/article/details/114281686)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [达梦数据库SQL查询报错不是 GROUP BY 表达式解决方法](https://blog.csdn.net/qq_37898570/article/details/126951104)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值