我有一张这样的桌子:
_id integer
column_1 text
column_2 integer
我想获取是否存在的值,column_2
如果_id = 1
不存在则获取最大值column_2
SELECT max(column_2), column_2
where _id = 2
这肯定会失败,有没有办法在同一个查询中获取这两个值?
我有一张这样的桌子:
_id integer
column_1 text
column_2 integer
我想获取是否存在的值,column_2
如果_id = 1
不存在则获取最大值column_2
SELECT max(column_2), column_2
where _id = 2
这肯定会失败,有没有办法在同一个查询中获取这两个值?
试试这个查询
SELECT
IFNULL(column_2,l.MValue)
FROM mytable
LEFT JOIN (
SELECT
id,
MAX(column_2) as MValue
FROM mytable
) as l ON l.id = mytable.id
WHERE mytable.id = 1
尝试这个:
SELECT IFNULL(column_2, (SELECT MAX(column_2) FROM test)) column2
FROM test WHERE id = 1;
如果我的问题是正确的,这可能会对您有所帮助。
select
IF(column_2 IS NULL, X.maxv, column_2)
from test,(select max(column_2) as maxv from test)as X
您可以使用 (Exist) SQL 语句