这是SQL今日一题的第7篇文章
题目描述
找出所有员工当前(to_date=\’9999-01-01\’)具体的薪水salary情况,对于相同的薪水只显示一次,并按照逆序显示。(只输出salary)
这题用到salaries表

方法1
select distinct salary from salaries
where to_date = \'9999-01-01\'
order by salary desc
1、这道题就简单许多了,首先我们知道salaries表里一个员工编号可能对应多条记录,因为是由薪资变化的,所以这题给了限制条件“当前”,即to_date = \’9999-01-01\’
2、同时对于薪资相同的只输出一条,就用distinct去重即可
3、最后降序排列
方法2
select salary from salaries
where to_date = \'9999-01-01\'
group by salary
order by salary desc
1、where子句限定当前日期的条件
2、group by对salary分组,也可以达到去重的效果,和distinct的区别在于数据量大的时候,可以使用group by,比用distinct效率高。
3、最后order by降序
知识点
distinct
-
检索不同行
-
distinct column,放在列名前
group by
-
group by子句用来创建分组,
-
group by子句要写在where后,order by 前
order by
-
order by column,指定单个列排序
-
order by column1,column2,多个列排序,逗号隔开
-
默认升序,即ASC,如需降序,后加DESC,如order by column desc
猜你喜欢:
数据分析应关注AARRR模型的哪些指标
泰坦尼克号数据分析
深入浅出数据分析
@ 作者:可乐
@ 公众号/知乎专栏/头条/简书:可乐的数据分析之路
@加个人微信:data_cola,备注:进群,拉你入 可乐的数据分析群 和各行各业的小伙伴交流探讨数据分析相关内容


声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)