select a.* from AA a join (select ID,max(D) as D from AA where B is not null group by D)b on a.ID=b.ID

解决方案 »

  1.   

    select a.* from AA a join (select AID,max(D) as D from AA where B is not null group by AID) b on a.AID=b.AID and a.D=b.D
      

  2.   

    该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。这是我改成了自己的表后的错误!
      

  3.   

    谢谢大家的支持!现在好像可以了!
    我粘贴我的语句出来看看!希望大家帮我看看有没有可能出问题!谢谢!SELECT a.*
             FROM 水表读数 a,
                       (SELECT 水表ID, 抄表日期 = MAX(抄表日期)
                      FROM 水表读数 where 本月行度 is not null and 抄表日期<'2004-9-1'
                      GROUP BY 水表ID) b
             WHERE a.水表ID = b.水表ID AND a.抄表日期 = b.抄表日期
    我的是水厂的缴费软件,我有一个表:'水表读数'来记录每一个操作员登记的读数,当操作员要进行操作的时候,先让他们输入要登记水表的记录的日期,根据这个日期来搜索在这个日期前的最后一个抄表记录的读数,让他们做一个参考!还可以通过这个数据来计算出这段时间所使用了的水量,计算出该收多少钱水费!