我用的视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条记录,为什么会有这样的差异?那位大侠帮忙解释一下!
我这条语句是为了得到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条记录,为什么会有这样的差异?那位大侠帮忙解释一下!
这个首先执行select max(stockInNo) as stockInNo from db.tbmr06 where stockInNo like 'DY0806%'
然后再根据stockInNo分组,查出的结果为null当然再进行分组的时候也就得不到纪录了。