论坛上看到的sql语句 不知道什么意思 求帮忙!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论坛上看到的sql语句 不知道什么意思 求帮忙!相关的知识,希望对你有一定的参考价值。
SQL> select decode(grouping(city_name) || grouping(rownum), '01', '小计', city_name) city_name,
2 logicne_type,
3 net_type,
4 sum(num) num
5 from
6 (select city_name,
7 logicne_type,
8 net_type,
9 count(*) num
10 from t1
11 group by city_name, logicne_type, net_type)
12 group by rollup((city_name, logicne_type, net_type), rownum)
13 having grouping(city_name) <> 1
14 /
grouping(city_name) || grouping(rownum)这个
和group by rollup((city_name, logicne_type, net_type), rownum)
返回的空值。
作为 ROLLUP、CUBE 或 GROUPING SETS 操作结果返回的 NULL 是 NULL
的特殊应用。
它在结果集内作为列的占位符,表示全体。
ROLLUP ( )
生成简单的 GROUP BY 聚合行以及小计行或超聚合行,还生成一个总计行。 参考技术A 需要理解几个函数
1.decode()函数
主要作用:将查询结果翻译成其他值:
decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
2.group by 分组
3.group by rollup 生成的结果集显示了所选列中值的某一层次结构的聚合
Hive SQL子句中 group by 1 是什么意思?
前段时间处理一个别人写的SQL语句,其中的 group by
语句写的是group by 1
。
刚看到的时候还挺懵,还以为写错了,但是能跑起来,还能实现功能,这就有意思了,又是一个我不知道的知识点。
后来查了一下,才知道它的意思是不管第一列叫什么,都按第一列进行分组。
举个例子:
SELECT account_id, open_emp_id
^^^^ ^^^^
1 2
FROM account
GROUP BY 1;
注意这个索引是从1开始,而不是从0开始。这种操作也可以应用到order by
子句。
记录一下,每天一个小知识点。
以上是关于论坛上看到的sql语句 不知道什么意思 求帮忙!的主要内容,如果未能解决你的问题,请参考以下文章
怎么把下面的的sql语句查询出来的结果插入到一张新表中去 求大神帮忙