sql group by 1, 2

作为算法工程师,天天跟数据打交道是避免不了的,sql也是日常工具。某天运营的同学丢给我一个sql,发现sql语句里面有group by 1,2 这种写法。作为一个老鸟,之前确实没见过大家用group by 1,2这种用法,都是group by 字段1,字段2这种写法,比较清晰。

因此特意去查了一下sql的相关语法,group by 1,2这种写法是没有问题的,group by / order by 后面跟数字,表示select 后面选择的字段,1 代表第一个字段,2代表第二个字段,以此类推。

举个简单的例子就是

select cat_level1_name, count(*) as num from xxx group by 1 order by num desc

上面的语句等同于:

select cat_level1_name, count(*) as num from xxx group by cat_level1_name order by num desc

相比起来,个人还是更推荐group by 字段名这种写法,毕竟看上去更为清楚。

你可能感兴趣的:(db,dw,sql,group,by,1)