A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 喻健 中级黑马   /  2012-5-19 17:18  /  2078 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我有一个表,分三列,一列id,一列age,一列name,我想查出年龄最大的人所有信息,如何写SQL语句?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

7 个回复

倒序浏览
select top 1 * from 表名 order by age desc

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
select * from 表  where (Age=(select max(age) from 表))  有点 啰嗦,不过 可以 得到 想要的 结果---

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
莫洪刚 发表于 2012-5-19 18:10
select top 1 * from 表名 order by age desc

SELECT TOP (1) ID, Name, Age
FROM C
ORDER BY Age DESC

你的 方法 简洁 真好 --- 学习了 ----怎么 忘记了 排序 那么好用的东东----
回复 使用道具 举报
select top 1 * from c order by age desc

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
王卫 发表于 2012-5-19 18:18
select * from 表  where (Age=(select max(age) from 表))  有点 啰嗦,不过 可以 得到 想要的 结果---
...

:handshake   恩,这个可以运行出来,楼上那位的貌似是运行不出来的。
回复 使用道具 举报
select top 1 * from 表名 order by age desc

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
翠鸟 初级黑马 2012-5-22 15:44:13
8#
如果说年龄最大的不只是一个人的话
select top 1 * 就不适合该问题

所以 还是:
select * from table where (age=(select max(age) from table))

另外想用orderby的话也是可以的:
select * from table where age = (select top 1 age from table order by age desc)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马