SQL - 如何选择一个具有最大值列的行
SQL - 如何选择一个具有最大值列的行
这个问题已经在这里有答案:
date value 18/5/2010, 1 pm 40 18/5/2010, 2 pm 20 18/5/2010, 3 pm 60 18/5/2010, 4 pm 30 18/5/2010, 5 pm 60 18/5/2010, 6 pm 25
我需要查询具有最大值(即60)的行。因此,我们得到两行。从中,我需要在那一天(即2010年5月18日,下午3点)具有最低时间戳的行(即60)。
admin 更改状态以发布 2023年5月23日
类似于TOP、LIMIT、ROWNUM等关键字是与数据库相关的。请阅读本文获取更多信息。
http://en.wikipedia.org/wiki/Select_(SQL)#Result_limits
Oracle:ROWNUM 可以使用。
select * from (select * from table order by value desc, date_column) where rownum = 1;
更具体地回答问题:
select high_val, my_key from (select high_val, my_key from mytable where something = 'avalue' order by high_val desc) where rownum <= 1