欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql自聯(lián)去重的一些筆記記錄

 更新時間:2019年06月07日 09:52:30   作者:小白菜  
這篇文章主要給大家介紹了關(guān)于mysql自聯(lián)去重的一些筆記記錄,文中通過示例代碼介紹的非常詳細,對大家學習或者使用mysql具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

我先把功能場景簡要闡述下:

數(shù)據(jù)行字段如下:

name
started_at
type

在這張表里,name有重復值

現(xiàn)在需要在type確定的情況下,篩選出一個列表,滿足,name不重復,找出的記錄為同name下started_at為最小的記錄

舉個例子:

活動1 2019-06-01 type1
活動1 2019-06-02 type1
活動1 2019-06-03 type1

活動2 2019-06-03 type1
活動2 2019-06-05 type1
活動2 2019-06-07 type1

那篩的列表應為:

活動1 2019-06-01 type1
活動2 2019-06-03 type1

還需要滿足started_at 大于 當前時間

請問這樣的sql應該如何寫?

解決思路為:

就是利用left join 自己

比如s1 left join s2 on s1.name=s2.name and s2.started_at<s1.started_at and s2.started_at > now()

最后where s2.id is null

SELECT
 s1.NAME,
 s1.started_at,
 
FROM
 tbl s1
 LEFT JOIN tbl s2 ON s1.`name` = s2.`name` 
  AND s1.started_at > s2.started_at 
  AND s2.started_at > now( ) 
WHERE
  s2.id IS NULL 
  AND s1.started_at > now( ) 
 AND s1.type = 'online_lecture'
ORDER BY
 s1.NAME,
 s1.started_at;

大家有什么更好的解決思路嗎?

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論