select test_name,wi_no,charge,version
from q_testname
group by test_name
having version =max(version)
ORDER BY wi_no desc;
-------------------sybase下的这条sql语句在mysql下怎么写呢?
sql含义:q_testname里有不同版本的同名记录,现在要查找出版本最高的所有记录集按名字分组

解决方案 »

  1.   

    select test_name,wi_no,charge,max(version)
    from q_testname
    group by test_name
    ORDER BY wi_no desc;
    --------这样写查找出来的记录是错误的
      

  2.   

    我用的是mysql5.0的,然后测试了一下下面这条语句,结果在sybase,mysql下执行的结果是不一样的,mysql里group by 的同名记录只有一条,它好像默认就消除了分组后的同名记录
    select test_name,wi_no,charge,version
    from q_testname
    group by test_name
    ORDER BY wi_no desc
      

  3.   

    是不是多了wi_no这个字段呀?