错误信息提示得很清楚了,
如果用到了GROUP,除了被聚合 函数指定的列外,只能出现在group by子句,
所以你的SQL只能是以下两种格式:
select max(no),timet    from  tbl 
where s1= '1111' group by s1,timet order by timet desc;
select max(no),max(timet)    from  tbl 
where s1= '1111' group by s1 order by timet desc;
如不合要求就只能另外构造。

解决方案 »

  1.   

    如果用到了GROUP,除了被聚合 函数指定的列外,只能出现在group by子句,
    所以你的SQL只能是以下两种格式:
    select max(no),timet    from  tbl 
    where s1= '1111' group by s1,timet order by timet desc;
    select max(no),max(timet)    from  tbl 
    where s1= '1111' group by s1 order by timet desc;
    如不合要求就只能另外构造。
      

  2.   

    不明白:
    既然 s1= '1111' 那么为什么还要group by s1?
      

  3.   

    在用到聚合函数时,字段列表中未参与聚合运算的字段必须出现在Group by子句中,对未在字段列表中出现的字段只做条件用时可不必包含在Group by子句中,当然包含在内也可以,但性能就差点了,尤其是大数据量时。
      

  4.   

    select max(no),timet    from  tbl 
    where s1= '1111' group by s1 order by timet desc
    select no,timet from tb1 where no in (select max(no) from tb1 where s1='1111' group by s1) order by  timet desc
      

  5.   

    试试:
    select no,timet from tb1 where no in (select max(no) from tb1 where s1='1111' group by s1) order by  timet desc 
      

  6.   

    select max(no) from tb1 where s1='1111' group by s1这句话我咋怎么看怎么别扭呢?