我有一个从列中选择最小值并要求另一个值等于 1 的 SQL 查询。我正在使用嵌套选择并尝试使用 AND 语句。但是,在添加 AND 之后,查询结果为零。
SELECT writer_email FROM writerdata_tb WHERE writer_active = 1 AND pending = (SELECT MIN(pending) FROM writerdata_tb) LIMIT 1
我应该如何修复此代码以选择同时满足两者的 WHERE?
writer_email | writer_active | pending
------------- --------------- --------
email1@mail 0 1
email2@mail 1 3
email3@mail 1 2
查询结果应为 email3@mail,因为该记录的挂起最少且活跃度等于 1。
最佳答案
试试这个。
SELECT writer_email FROM writerdata_tb WHERE writer_active = 1 AND pending = (SELECT MIN(pending) FROM writerdata_tb WHERE writer_active = 1) LIMIT 1
这是由于您的第二个选择命令,它只会选择最小值,而不管 writer_active 值
关于mysql - 并且不使用嵌套选择 sql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33884798/