论坛上看到的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)

GROUPING 用于区分标准空值和由 ROLLUP、CUBE 或 GROUPING SETS
返回的空值。

作为 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语句 不知道什么意思 求帮忙!的主要内容,如果未能解决你的问题,请参考以下文章

关于full join 语句的性能问题 跪求大虾帮忙解决.

怎么把下面的的sql语句查询出来的结果插入到一张新表中去 求大神帮忙

Linq 语句换成 sql语句,求高手帮忙

求高手帮忙sql写法:树节点放一个表中,怎么用一条语句查询一个节点及对应的所有父节点信息。

帮忙讲解一下sqlserver中查询语句关联的意思。

求以下SQL语句意思