mysql - 請教一條sql
問題描述
當前記錄里,如果某個手機號下存在TRANSFER_AMOUNT為null,這個手機號就不會被查出來,即當前四條記錄里真正應該只查出最后一條。
問題解答
回答1:select * from table where MOBILE_PHONE_NO not in ( select MOBILE_PHONE_NO from table where TRANSFER_AMOUNT is null)回答2:
@RandyO 的回答從結果看應該是沒問題的,如果從性能方面考慮,可以嘗試下面的寫法:
select * from table t1 where not exists ( select 1 from table t2 where t2.MOBILE_PHONE_NO = t1.MOBILE_PHONE_NO and t2.TRANSFER_AMOUNT is null limit 1)回答3:
你這四條記錄中的TRANSFER_AMOUNT值有三條記錄是不為null,如果是TRANSFER_AMOUNT為null,應該查詢出來三條記錄,還是我沒理解你的意思呢?
回答4:where TRANSFER_AMOUNT is not null order by RESV_ID desc limit 1
即 TRANSFER_AMOUNT 不為NULL; 根據RESV_ID 倒序排列;只取一條結果.
回答5:SELECT * FROM 表 WHERE MOBILE_PHONE_NO != (SELECT MOBILE_PHONE_NO FROM 表 WHERE TRANSFER_AMOUNT =’’)我也剛學的,不知道這么寫行不行
回答6:RandyO 正解!一個簡單的子查詢
相關文章:
1. 如何解決docker宿主機無法訪問容器中的服務?2. javascript - 如何使用nodejs 將.html 文件轉化成canvas3. angular.js - 輸入郵箱地址之后, 如何使其自動在末尾添加分號?4. javascript - html5的data屬性怎么指定一個function函數呢?5. 在mac下出現了兩個docker環境6. python - Scrapy存在內存泄漏的問題。7. java如何生成token?8. docker-compose中volumes的問題9. javascript - 后臺管理系統左側折疊導航欄數據較多,怎么樣直接通過搜索去定位到具體某一個菜單項位置,并展開當前菜單10. javascript - Web微信聊天輸入框解決方案
