求一查询语句。谢谢(20)

  • 主题发起人 主题发起人 多多帮助
  • 开始时间 开始时间

多多帮助

Unregistered / Unconfirmed
GUEST, unregistred user!
记录有以下不限编号 日期 姓名001 2009-01-09 d001 2009-03-09 d001 2009-02-1 d002 2009-03-1 e002 2009-04-1 e等等。我想求出002 2009-04-1 d001 2009-03-09 e也就是每个编号的最新日期的那个。谢谢
 
select 编号, max(日期) as 日期from table1group by 编号
 
姓名一带上就不准了
 
这种方法不对啊
 
仅仅从数据来看,如下:select 编号,姓名, max(日期) as 日期from table1group by 编号,姓名
 
这样我试了。数据多的时候。就出现了重的编号
 
那是因为相同的编号,存在多个不同的姓名。对于这种情况,你想显示哪个姓名呢?
 
只显示一个编号,也就是按编号显示。不要重的
 
select 编号,max(姓名) as 姓名, max(日期) as 日期from table1group by 编号 试试~
 
这样估计不行。要的是每个编号的最近日期的数据
 
duxing, 看到他这样回答,晕吧?你需要3个字段,编号, 日期(最近的,也就是最大的日期),姓名(一个编号如果对应多个姓名怎么处理,你没说)你自己首先要清楚需要取什么样的数据。抖抖地问一下,你用数据库多长时间了?
 
就是上面给出的数据形式。只要是这种结果就行了
 
--假设table1是你的表名,这样就可以:select 编号,日期,姓名=max(姓名) from table1 agroup by 编号,日期having 日期 >= all (select 日期 from table1 where 编号=a.编号)
 
多人接受答案了。
 
后退
顶部