我用的视DB2数据库,然后分别执行一下两条SQL,得到不同结果。
我这条语句是为了得到08年6月份的单号最大记录,当6月份还没有任何一个单号,分别执行这2个语句会得到不同结果。
1. select max(stockInNo) as stockInNo from db.tbmr06  where stockInNo like 'DY0806%' 
2. select max(stockInNo) as stockInNo from db.tbmr06  where stockInNo like 'DY0806%' group by  stockInNo
执行1 后会得到一条记录,记录的内容为NULL(因为没有符合查询条件的记录),执行2 后会返回0条记录,为什么会有这样的差异?那位大侠帮忙解释一下!

解决方案 »

  1.   

    select max(stockInNo) as stockInNo from db.tbmr06  where stockInNo like 'DY0806%' group by  stockInNo 
    这个首先执行select max(stockInNo) as stockInNo from db.tbmr06  where stockInNo like 'DY0806%'
    然后再根据stockInNo分组,查出的结果为null当然再进行分组的时候也就得不到纪录了。
      

  2.   

    cupoy (cupoy) 在CSDN社区共有可用分:130, 已花费可用分:20, 剩余可用分:110很奇怪的一个用户,你这帐号啥时候注册的?
      

  3.   

    自己顶一下,感觉1楼讲的还是不很明白,为什么对NULL的记录集分组就得不到任何一条记录?