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. php study 安装 composer 用不了2. mysql sql where id in(25,12,87) 结果集如何用按照 25 12 87排序?3. mysql - SELECT 多個資料表及多個欄位4. 登录界面URL在服务器上无法找到5. php链接数据库,mysql_connect 无法使用6. mysql - 这条联合sql语句哪里错了7. mysql多表查询8. spring - mysql中事务是互斥的么?9. 微信渠道二维码怎么使用?10. 创建数据表错误: You have an error in your SQL syntax; check the manual that corresponds to your MySQL serve

网公网安备