group by ktab.khh, ktab.khm 为什么要客户号、客户名一起group?客户号、客户名本来一一对应。 这个问题,虽然客户号、客户名是一一对应,但是group by 的规则是只要在select出现的字段除聚合函数外都要出现在group by中。你可以看下联机丛书的group by用法 ------解决方案-------------------- group by的问题,你可以认为select中用到,所以要放到group by,其实sql先执行group by再select,如果group by中没有出现并且不再聚合函数(sum、count等)里面,那select就报错 ------解决方案-------------------- 针对分组的啊 ------解决方案-------------------- group by控制了,sum其实原理一样,你这里count是统计结果的行数,sum是汇总哪个列的值 ------解决方案--------------------
这里COUNT(*)和SUM(kstab.dhl) 怎么知道是针对谁呢? 这个问题一眼就看得出来啊
group by ktab.khh, ktab.khm 为什么要客户号、客户名一起group?客户号、客户名本来一一对应。 这个问题,虽然客户号、客户名是一一对应,但是group by 的规则是只要在select出现的字段除聚合函数外都要出现在group by中。你可以看下联机丛书的group by用法
group by ktab.khh, ktab.khm 为什么要客户号、客户名一起group?客户号、客户名本来一一对应。 这个问题,虽然客户号、客户名是一一对应,但是group by 的规则是只要在select出现的字段除聚合函数外都要出现在group by中。你可以看下联机丛书的group by用法
因为你的group by 控制select在查询的时候是进行分组计算的 ------解决方案--------------------
这里COUNT(*)和SUM(kstab.dhl) 怎么知道是针对谁呢? 这个问题一眼就看得出来啊
group by ktab.khh, ktab.khm 为什么要客户号、客户名一起group?客户号、客户名本来一一对应。 这个问题,虽然客户号、客户名是一一对应,但是group by 的规则是只要在select出现的字段除聚合函数外都要出现在group by中。你可以看下联机丛书的group by用法
你最好还是看看group by 的用法先 ------解决方案-------------------- lz: select count(*) from 表名; --选取所有行
select 列名, count(*) from 表名 group by 列名 --这后面一定要有group by,他是对count(*)前面的列名分组
------解决方案--------------------
这里COUNT(*)和SUM(kstab.dhl) 怎么知道是针对谁呢? 这个问题一眼就看得出来啊
group by ktab.khh, ktab.khm 为什么要客户号、客户名一起group?客户号、客户名本来一一对应。 这个问题,虽然客户号、客户名是一一对应,但是group by 的规则是只要在select出现的字段除聚合函数外都要出现在group by中。你可以看下联机丛书的group by用法