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. android - 求 360浏览器 百度浏览器 搜狗浏览器的最新启动类名2. python 读取csv文件可以读取但内容错误,但单独用excel打开正常,如何解决?3. 微信端电子书翻页效果4. javascript - 如何通过参数获取Object的子节点?5. pdo_mysql 值自增写法6. css - 前端flex布局嵌套内层的布局不起作用?7. html5 - HTML代码中的文字乱码是怎么回事?8. javascript - 微信小程序 wx.downloadFile下载文件大小有限制吗9. 安装sublime text 3 控制台的时候出现这个报错怎么办?10. php laravel框架模型作用域