2013-01-05 30 views
1

同一列我有一个这样的表:得到列和最大值为特定的记录,同时

_id integer 
column_1 text 
column_2 integer 

我想如果_id = 1,如果不存在获得最大拿到column_2值为column_2

SELECT max(column_2), column_2 
where _id = 2 

这将失败肯定值,有没有办法让在同一查询的两个值?

回答

0

可以使用(存在)的SQL语句

1

试试这个:

SELECT IFNULL(column_2, (SELECT MAX(column_2) FROM test)) column2 
FROM test WHERE id = 1; 

检查SQL FIDDLE DEMO

+0

您的查询不工作http://sqlfiddle.com/#!2/7839c/13,更正您的自我 –

+0

@goodmood检查更新的答案。 –

+0

现在你得到+1,。 –

0

如果我得到你的问题的权利可能是这可以帮助你。

select 
    IF(column_2 IS NULL, X.maxv, column_2) 
from test,(select max(column_2) as maxv from test)as X 
相关问题