请问高手,这个sql语句应该怎么写??

有一个表,time_id字段值可以重复,假设一共有10条记录,有3条记录的time_id字段值为100,7条记录的time_id字段值为200,现在我想读出time_id... 有一个表,time_id字段 值可以重复,假设一共有10条记录,有3条记录的time_id字段 值为100,7条记录的time_id字段 值为200,现在我想读出 time_id字段 值最大的所有记录,在上述例子中,就应该读出 7条记录,在写sql语句时候,不能用数字7(因为以后time_id字段 值最大的所有记录有几条是不确定的),请问怎么写?我自己写了如下语句,失败了
select * from [myTable] where [time_id]= ( select top 1 [time_id] from [myTable] order by [time_id] desc )
请问高手,这个sql语句应该怎么写??
展开
 我来答
百度网友66a8d48e5
2011-10-18 · TA获得超过7687个赞
知道大有可为答主
回答量:3002
采纳率:12%
帮助的人:3849万
展开全部
一楼二楼均正解!

再补充一个更简单的,但不一定好理解!

select top 1 * from [mytable] order by [time_id] DESC

取出的结果不是一条,而是七条,不信你试一下!

原理:如果第一排序有重复时,会将重复值全部显示,而不是因示只第一条!不信可以试一下的!也就是说,top 1 本来应该是显示一条的,但第一排序在重复时会显示出所有的,以致于很多前端设计时控制不到具体的条数,其实那种情况下加上第二排序就可以解决的!

http://hi.baidu.com/yuanbogg/blog/item/c29608f427572066dcc47473.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syht2000
高粉答主

2011-10-18 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
select * from myTable where time_id=(select max(time_id) from myTable) 或者 select * from myTable where time_id in (select max(time_id) from myTable)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
青山柳琴
2011-10-18 · TA获得超过858个赞
知道小有建树答主
回答量:803
采纳率:0%
帮助的人:307万
展开全部
select * from myTable
where [time_id]= ( select max ( [time_id]) time_id from myTable )
用上函数max ,我运行过,可以的,你试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雁西楼
科技发烧友

2011-10-18 · 有一些普通的科技小锦囊
知道小有建树答主
回答量:1118
采纳率:73%
帮助的人:399万
展开全部
改等号为In
无论一个查询的结果集是多少条,它都是一个行集,不能用一个值去与一个行集比较。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
calm_水手
2011-10-18
知道答主
回答量:5
采纳率:0%
帮助的人:8268
展开全部
select * from myTable where time_id=(select max(time_id) from myTable) 或者 select * from myTable where time_id in (select max(time_id) from myTable)
正解。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式