并且不使用嵌套 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=1pending=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 值