第一次查询
select b.id , b.value,b.name from table_1 b where b.id = 900;
结果:
id value name
900 5027 AA
900 79426 BB
900 132276 CC
900 302885 DD
第二次查询
select a.id , max(a.value) from table_1 a where a.id = 900 group by a.id ;
RESULT
id value
900 302885
现在我想要像
这样的结果 id value name
900 302885 DD
提前致谢...
答案 0 :(得分:1)
使用你的第一个查询但是在where子句中选择你想要的值...这可以通过使用select MAX()语句来完成
select b.id , b.value,b.name
from table_1 b
where b.id = 900 and
b.value = (
select max(a.value) from table_1 a where a.id = 900 group by a.id
)
答案 1 :(得分:1)
如果您想获取最大ID的数据,请尝试以下方法:
SELECT a.id, a.value, a.name
FROM table_1 a
WHERE NOT EXISTS (SELECT * FROM table_1 b WHERE a.id < b.id)
答案 2 :(得分:1)
试试这个,
select *
from Table1 t1
where t1.value=(select MAX(value)
from Table1 t2
where t1.id=t2.id)
AND t1.id=900;
答案 3 :(得分:0)
SELECT * FROM table_1 t
WHERE value = (SELECT MAX(value) FROM table_1 s WHERE t.id = s.id)
AND t.id = 900
有关如何操作的其他示例,请参阅手册条目The Rows Holding the Group-wise Maximum of a Certain Column。
看到它在sqlfiddle中正常工作。