取出数据库所有纪录中,某字段值最大的一条纪录,sql语句怎么写?

例如表字段:
id,name,age,
取出所有年龄最大的一个纪录,语句怎么写?
mysql,oracle中语句是不是不一样
?

select top 1 id,name,age from 表 order by age desc
按照年龄倒序排序,然后取第一条。
考虑可能有多人年龄相同,如果都需取出,可以这样写:
select id,name,age from 表 where age=(select max(age) from 表)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-12
select id,name,max(age) from tablename group by id,name追问

mysql和oracle数据库语句是一样的吗?

追答

语法有些不一样,但这句是一样的

第2个回答  2018-05-31

如图2个列的数据,通过下面的sql来查询出每个ID的最大值在一条记录(行)中:

SELECT
id, MAX(max_data) FROM (SELECT id, data1 as max_data FROM 表名 UNION
SELECT id, data2     FROM 表名) MaxData(必须再自定义一个表名);

之后会如下图效果:

自己摸索的转发请标明,谢谢