求SQL查询解决方法

chenmo5097 2004-12-10 09:02:21
cid id lasttime
2540 5335 2004-12-10 02:27:00 *
2540 5338 2004-12-10 02:26:00
2540 5337 2004-12-10 02:16:00
2540 5336 2004-12-10 02:15:00
2483 5334 2004-12-09 19:31:00 *
2483 5333 2004-12-09 19:30:00
2532 5312 2004-12-09 16:14:00 *
2532 5311 2004-12-09 16:12:00
2532 5310 2004-12-09 16:11:00
2532 5309 2004-12-09 16:10:00
131 5308 2004-12-09 15:45:00 *
2528 5307 2004-12-09 12:18:00 *
2528 5306 2004-12-09 12:17:00
如上所示:我想只显示带有*号的项目, cid相同的则只显示时间最近的1个
好象要用到复合查询
...全文
155 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bill1980 2004-12-10
学习ing
回复
chenmo5097 2004-12-10
好了,结贴,谢谢各位
回复
chenmo5097 2004-12-10
to 清风:
我试验了一下结果

服务器: 消息 145,级别 15,状态 1,行 1
如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中。
回复
showliz 2004-12-10
select DISTINCT(cid),id,lasttime from tablename order by (select max(lasttime) from tablename group by cid)
回复
chenmo5097 2004-12-10
id是主键
回复
chenmo5097 2004-12-10
谢谢晴空:

select cid,id,lasttime from product where lasttime in (select max(lasttime) from product group by cid) order by lasttime desc

结果:
2540 5335 2004-12-10 02:27:00
2483 5334 2004-12-09 19:31:00
2532 5315 2004-12-09 16:26:00
131 5308 2004-12-09 15:45:00
2528 5307 2004-12-09 12:18:00
2527 5297 2004-12-09 12:02:00
回复
tianch 2004-12-10
cid相同而且lasttime也相同的话,而要楼主定义规则,再看怎么处理,按照楼主当前的规则,只能把他都列出来
回复
tianyuan_2004 2004-12-10
??
这样就只能查询出带*号的项了吗?
回复
iuhxq 2004-12-10
to 晴空:

要是有两个lasttime都最大怎么办?
回复
iuhxq 2004-12-10
select cid,max(lasttime) from tablename group by cid

如果有主键则:
select * from tablename where id in (select //这个还没想明白
回复
tianch 2004-12-10
select * from tablename where lasttime in (select max(lasttime) from tablename group by cid)
回复
qihboy 2004-12-10
连个主标识都没有。还怎么查。晕、。。。。
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-12-10 09:02
社区公告
暂无公告