select row_number() over (order by insu_admdvs) as '序号', insu_admdvs '医保区划', count(distinct mdtrt_id,psn_no)'结算人次', sum(medfee_sumamt) '医疗总费用', sum(fund_pay_sumamt) '基金支出' from setl_d where vali_flag = '1' group by insu_admdvs 的错误
时间: 2023-08-05 15:08:43 浏览: 72
这段 SQL 语句存在语法错误,应该将 "count(distinct mdtrt_id,psn_no)" 改为 "count(distinct mdtrt_id, psn_no)",即在逗号后面加上一个空格。修改后的正确语句如下:
```
select row_number() over (order by insu_admdvs) as '序号', insu_admdvs '医保区划', count(distinct mdtrt_id, psn_no) '结算人次', sum(medfee_sumamt) '医疗总费用', sum(fund_pay_sumamt) '基金支出' from setl_d where vali_flag = '1' group by insu_admdvs
```
相关问题
hive中distinct,group by,row_number()的去重效率
在Hive中,DISTINCT、GROUP BY和ROW_NUMBER()都可以用于去重,但它们的效率和使用场景有所不同。
DISTINCT:
DISTINCT是用于从查询结果中删除重复的行。它通常适用于查询结果较小的情况。如果查询结果比较大,DISTINCT可能会变得非常慢。因为在执行DISTINCT操作时,需要对整个结果集进行排序和去重操作,这是一个非常耗费资源的过程。此外,DISTINCT还会影响查询的性能,因为它需要将数据从Map阶段传递到Reduce阶段,这会导致额外的网络开销。
GROUP BY:
GROUP BY是用于对查询结果进行分组和聚合操作。它的效率比DISTINCT要高,因为它只需要对每个分组进行聚合操作,而不需要对整个结果集进行排序和去重操作。但是,如果分组键的基数比较大,GROUP BY可能会变得非常慢。
ROW_NUMBER():
ROW_NUMBER()函数可以用于给查询结果中的每一行分配一个唯一的数字。它通常用于分页操作。ROW_NUMBER()的效率比DISTINCT和GROUP BY要高,因为它只需要对查询结果进行遍历,而不需要对整个结果集进行排序和去重操作。但是,如果查询结果比较大,ROW_NUMBER()也可能会变得非常慢。
总的来说,对于去重操作,如果查询结果比较小,可以使用DISTINCT。如果查询结果比较大,并且需要进行分组和聚合操作,可以使用GROUP BY。如果需要进行分页操作,可以使用ROW_NUMBER()。但是,具体使用哪种方式取决于具体的查询场景。
row_number() over partition by怎么用于去重
row_number() over partition by不能直接用于去重,它是用于在分组内为每行分配一个唯一编号的窗口函数。要去重,可以使用distinct关键字或者group by子句。例如:
使用distinct关键字去重:
```
select distinct col1, col2, col3 from table1
```
使用group by子句去重:
```
select col1, col2, col3 from table1 group by col1, col2, col3
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)