请问这句SQL怎么写?大侠帮忙?搞死我了,急!!!!!!!!

NoReady 2003-11-14 11:06:36
请问这句SQL怎么写?
如下表:

Id Name Rev
--------------------------
1 aaa 1
1 bbb 2
1 ccc 3
2 eee 1
2 ffff 2
2 gggk 3

如何取出上表中rev为最大的记录?就一个条件(rev为最大)???

...全文
89 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengdali 2003-11-14
  • 打赏
  • 举报
回复
select * from 表 where id+rev in(select distinct id+max(rev) from 表 group by id);
trampwind 2003-11-14
  • 打赏
  • 举报
回复
||就是程序里面用的或运算符号,我知道在informix和postgresql中都是可以用的,我刚才是在postgresql中测试过的
NoReady 2003-11-14
  • 打赏
  • 举报
回复
SQL里面好像没"||"的,我把它改成“|”就错了
pengdali 2003-11-14
  • 打赏
  • 举报
回复
select * from 表 tem where rev=(select max(rev) from 表 where id=tem.id)
zjcxc 元老 2003-11-14
  • 打赏
  • 举报
回复
两者的差别就在于,

如果只是楼主给出的数据,两种方法都合适.

如果表中还有其中字段,要查询出每组rev值最大的记录,就只能用第二种方法.
zjcxc 元老 2003-11-14
  • 打赏
  • 举报
回复
--分组与查询记录最大的慨念是不同的.

--如果是分组:
select id,name,max(rev) from 表 group by id,name


--如果是查询记录最大的:
select * from 表 a where rev=(select max(rev) from 表 where id=a.id and name=b.name)

trampwind 2003-11-14
  • 打赏
  • 举报
回复
你是按ID分组吧,要是ID,NAME分组的话因为name不同,如:select * from 表 where rev in(select max(rev) from 表 group by id,name);所有记录都是满足条件的
trampwind 2003-11-14
  • 打赏
  • 举报
回复
select * from 表 where id||rev in(select distinct id||max(rev) from 表 group by id); 查出的只有 1 ccc 3 和 2 gggi 4,
是不是你所要求的。
NoReady 2003-11-14
  • 打赏
  • 举报
回复
不好意思,还有一点最重要的没说明:按ID及NAME分组,即我要得到的记录为:
Id Name Rev
--------------------------
1 ccc 3

2 gggi 4
acefr 2003-11-14
  • 打赏
  • 举报
回复
你这样的记录里面rev最大为4的,而且只有1条啊,所以当然只能查出1条记录啦
NoReady 2003-11-14
  • 打赏
  • 举报
回复
谢谢各位,这样不行的啊,如果记录为这样的话:
Id Name Rev
--------------------------
1 aaa 1
1 bbb 2
1 ccc 3
2 eee 1
2 ffff 2
2 gggk 3
2 gggi 4

就只能查出一条记录,而查不出2条的??
请继续help
DigJim 2003-11-14
  • 打赏
  • 举报
回复
select * from 表 where rev= (select max(rev) from 表)
welyngj 2003-11-14
  • 打赏
  • 举报
回复
select * from a where rev=(select max(rev) from a)
pengdali 2003-11-14
  • 打赏
  • 举报
回复
select * from 表 where rev=(select max(rev) from 表)
NoReady 2003-11-14
  • 打赏
  • 举报
回复
谢谢 pengdali(大力 V3.0)等各位

其实我这个表只是一个结果集,但又没用存储过程,只在vb.net里面用,终于可以解决了!!!!!真的非常感谢!!!
NoReady 2003-11-14
  • 打赏
  • 举报
回复
好,我再试试
不需要开发,0行代码接口服务,sql编程,只要会sql就会接口服务,让后端变得更简单,简单4步短短5分钟,立马上手,java小白也可以接口。订阅课程后可以免费获取发布版进行使用和测试。 0行代码服务的需要来源案例一,当时有个项目,有400张表,都是管理系统,单表维护的内容较多,当时的项目团队是13人,前后端都,那时候还没有springboot,用的是ssm,mybatis刚出来,有了替代hibernate的趋势,ifelse了一堆又一堆,实体类也是,当时的后端分了7层☒,天天加班干这活,复制粘贴,很容易犯错,实体类多人引用修改,真的是废了很大的劲……案例二,也是一个比较大的项目,两千万多万那种,当时为了拿项目,需要快速实现原型给客户看,要求比较高,虽说是原型但是数据全部需要实时,这时候就需要大量编数据接口,同样编接口这件事难度倒是不大,但是量大,编过程手很容易出错……案例三,以前管理的团队主要做移动端开发,里面的项目会涉及到推送,管理系统,数据采集与同步,总之很多内容,需要前后端通吃,我不仅需要出方案,设计原型,设计数据库,出报价,沟通需求,还要后端框架,数据接口与数据采集,开发前端(web端),移动端,管理所有项目,但是那时候招的人只会移动端,实在是忙不过来,我就想能不能有个框架让不会java的人能接口,因为移动端sqlite总是会用的,也就是说sql不是难点……基于以上三点需求的积累,我利用业余时间了一个后端框架,完成了这样的需求,刚开始是需要三行代码完成一个接口,经过后面优化,现在不代码也可以实现……  本框架涉及的知识点比较多,目前提供最基础版供大家学习和使用,后期逐步推出框架具体的教程和功能内容,下期我们讲如何在实际项目中通过部署版如何完成所需要的接口编,欢迎大家订阅。

34,497

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧