日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

sql 取重复key中的第一条_SQL每日一题

發布時間:2024/10/6 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql 取重复key中的第一条_SQL每日一题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在前面

SQL每日一題是用牛客網的sqlite庫的題目進行深度講解(感覺進度慢的小伙伴可以自行前往刷題),這個系列要開啟日更計劃,每日一題,一起進步學習。

題目描述

查找最晚入職員工的所有信息,為了減輕入門難度,目前所有的數據里員工入職的日期都不是同一天

這個題目所用到的employees表的實例如下:

CREATE?TABLE?`employees`?(
`emp_no`?int(11)?NOT?NULL,??--?'員工編號'
`birth_date`?date?NOT?NULL,
`first_name`?varchar(14)?NOT?NULL,
`last_name`?varchar(16)?NOT?NULL,
`gender`?char(1)?NOT?NULL,
`hire_date`?date?NOT?NULL,
PRIMARY?KEY?(`emp_no`));

思路

思路1:降序排列取top1
思路2:子查詢限定max

思路1有局限性,但這道題用思路1也可以通過,下面詳細說說

答案:

# 思路1select?*?

上面的代碼思路是用limit限定對hire_date降序排列后取第一行,假如沒有重復的hire_date的話,那么取出來的就是最晚入職的員工信息,當然這樣寫也能通過調試,因為這道題里明確說明了“員工入職日期都不是同一天”。

limit n 表示從第1條開始(第一條數據所在的行為0),取n條數據limit m,n 表示從m+1條開始(行m),取n條數據,如limit 1,1 表示從第2條數據開始,取1條,搭配order by使用效果更佳。所以在本題里,除了limit 1這種寫法外,還可以寫成limit 0,1

但實際案例中確實會存在同一天的情況,那又應該如何做呢?

如上圖所示是我隨便插入的3條數據,可以看到emp_no為10008和10009的hire_date相同且最晚。# 思路2select?*?

如上代碼,這里用到了子查詢,思路是:
1、先用max函數取出最大的hire_date
2、再用where子句限定,hire_date等于剛取出來的最大的hire_date
最后取出的結果如圖:

每日一題,進步學習!

相關內容:

學習SQL:MySQL必知必會

對比Excel學習SQL(6):表連接

對比Excel學習SQL(5):分組和子查詢

對比Excel學習SQL(4):計算字段

寫給小白的SQL學習文章

猜你喜歡:

如何處理偏態數據?

數據分析應關注AARRR模型的哪些指標

泰坦尼克號數據分析

深入淺出數據分析

數據分析都有哪些崗位?

Python實現LRFM模型分析客戶價值

為什么要學統計學:赤裸裸的統計學

@ 作者:可樂
@ 公眾號/知乎專欄/頭條/簡書:可樂的數據分析之路
@加個人微信:data_cola,備注:進群,拉你入 可樂的數據分析群 和各行各業的小伙伴交流探討數據分析相關內容

微信公眾號個人微信號

總結

以上是生活随笔為你收集整理的sql 取重复key中的第一条_SQL每日一题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。