2019-03-04
閱讀量:
765
單表分類取最值的SQL如何實(shí)現(xiàn)效率最高
問題描述:
現(xiàn)有實(shí)際需求如下:表TBL(userid,logintime,dat),userid為用戶名(KEY),logintime為登錄時(shí)間,dat為某些數(shù)據(jù),請(qǐng)寫SQL語句返回每個(gè)有記錄的用戶在最后一次登錄所產(chǎn)生的userid,dat結(jié)果集。
這個(gè)問題其實(shí)是一個(gè)廣譜性的問題,在很多場(chǎng)景下會(huì)遇到。那么對(duì)于這類單表分類(userid相同的視為一類)取最值(或者是最大兩個(gè)或三個(gè)值)的問題,如何設(shè)計(jì)SQL才能使效率最高?
解決方法:
select userid,dat from tbl t where t.logintime = (select max(logintime) from tbl where userid = t.userid);






評(píng)論(0)


暫無數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
0條評(píng)論
0條評(píng)論
0條評(píng)論