并且不使用嵌套 Select sql 查询
AND not working with Nested Select sql query
我有一个 SQL 查询,该查询 select 是列中的最小值并要求另一个值等于 1。我正在使用嵌套 select 并尝试使用AND 语句。但是,在添加 AND 之后,查询结果为零。
SELECT writer_email FROM writerdata_tb WHERE writer_active = 1 AND pending = (SELECT MIN(pending) FROM writerdata_tb) LIMIT 1
我应该如何将此代码修复为 select 满足两者的 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
您的内部 select 查询给出了未决结果 1
,并且由于没有记录 writer_active=1
和 pending=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
这是由于您的第二个 select 命令,它只会 select 最小值,而不管 writer_active 值
我有一个 SQL 查询,该查询 select 是列中的最小值并要求另一个值等于 1。我正在使用嵌套 select 并尝试使用AND 语句。但是,在添加 AND 之后,查询结果为零。
SELECT writer_email FROM writerdata_tb WHERE writer_active = 1 AND pending = (SELECT MIN(pending) FROM writerdata_tb) LIMIT 1
我应该如何将此代码修复为 select 满足两者的 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
您的内部 select 查询给出了未决结果 1
,并且由于没有记录 writer_active=1
和 pending=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
这是由于您的第二个 select 命令,它只会 select 最小值,而不管 writer_active 值