您好,我想獲取昨天閱讀了該章節但今天未閱讀的用戶。我在下面有一張名為 user_bible_trackings 的表。
user_id date_read
2 2021-11-25
2 2021-11-26
1 2021-11-22
1 2021-11-23
3 2021-11-25
我的預期輸出如下:-
user_id
3
我試過下面的查詢
SELECT DISTINCT(user_id) FROM `user_bible_trackings`
WHERE date_read = '2021-11-25' and date_read != '2021-11-26'
但它的錯誤輸出。誰能告訴我我做錯了什么
uj5u.com熱心網友回復:
你可以使用:
SELECT user_id
FROM user_bible_trackings ubt1
WHERE date_read = CURDATE() - INTERVAL 1 DAY AND
NOT EXISTS (SELECT 1 FROM user_bible_trackings ubt2
WHERE ubt2.user_id = ubt1.user_id AND
ubt2.date_read = CURDATE());
注意我選擇用CURDATE()今天來代表。您可以繼續在上述查詢中硬編碼日期,它會起作用,但CURDATE()更靈活。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/367606.html
標籤:mysql
上一篇:MariaDB10.2“MysqlRowsizetoolarge”,現有大資料庫(TB)的解決方案
下一篇:聚集索引的葉子節點存盤了什么
