SQL 分組取最新的一條數據的方法

    SELECT biz_id AS leads_id 
    ,gmt_create AS leads_complete_time
    FROM kbods.ods_kbleadscenter_biz_log AS b
    WHERE dt='${bizdate}'
    AND action='completeLeads'
    AND NOT EXISTS (
                    SELECT  1
                    FROM    kbods.ods_kbleadscenter_biz_log
                    WHERE   biz_id = b.biz_id
                    AND     dt='${bizdate}'
                    AND     action='completeLeads'
                    AND     b.gmt_create < gmt_create
                )-- 取log中最新的一條記錄

對這段代碼的理解,需要先明確SQL的執行順序

開始 -> FROM子句 -> WHERE子句 -> GROUP BY子句 ->

HAVING子句 -> ORDER BY子句 -> SELECT子句 -> LIMIT子句 -> 最終結果 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章