在我的一次采访中,我被问到如何选择
没有关键字MAX
和TOP
的数据库的最大值。
我的回答是:
select Table.Value
from Table
where Table.Value >= all( select Table.Value from Table)
但这不是正确的。采访者说 我应该只用一个选择。
有什么想法吗?
谢谢;)
答案 0 :(得分:6)
怎么样;
select -min(-fld) from table
效率低下& uglier Woops错过了单一选择限制
select distinct Value from Table T
where not exists (select Value from Table where Value > T.Value)
答案 1 :(得分:4)
SELECT t1.Value
FROM atable t1
LEFT JOIN atable t2 ON t1.Value < t2.Value
WHERE t2.ID IS NULL
答案 2 :(得分:2)
一个建议(如果你使用MySQL,我也提出限制):
SELECT table.value FROM table ORDER BY table.value DESC LIMIT 1;
答案 3 :(得分:2)
SET ROWCOUNT 1
SELECT number
FROM master..spt_values
ORDER BY number DESC
答案 4 :(得分:0)
按键排序结果,降序,最后为空。 这使得行具有max,first。
选择第一行,然后就完成了。