亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql自聯去重的一些筆記記錄

發布時間:2020-09-28 20:30:12 來源:腳本之家 閱讀:125 作者:小白菜 欄目:MySQL數據庫

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

數據行字段如下:

name
started_at
type

在這張表里,name有重復值

現在需要在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;

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

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁化县| 凤凰县| 连云港市| 大邑县| 九江市| 普格县| 巩义市| 沙洋县| 建湖县| 台州市| 莱州市| 开平市| 达孜县| 广河县| 富蕴县| 丰镇市| 海盐县| 浦江县| 正镶白旗| 永嘉县| 陵川县| 阿图什市| 迭部县| 漳州市| 吴江市| 剑阁县| 雷山县| 和静县| 龙海市| 大英县| 桃园县| 澳门| 江津市| 普陀区| 正阳县| 衡东县| 杭锦后旗| 遵义县| 香河县| 桑植县| 丁青县|