你这个是怎么分组的,按什么条件分组,Group By 一下不就好了,你这个贴出来的,如果只有笔数跟单据编号, 直接Select Count(1),单据编号 From Table Group by 单据编号; 这样就好了,如果后面还有其他字段,在单据编号后面添加: Select Count(1),单据编号,Colunm1,Colunm2,Colunm3.... From Table Group by 单据编号,Colunm1,Colunm2,Colunm3....;
可以做子查询来满足需求select a.docno .. from .. --你原查询语句 (select docno, count(docno) from m_retail group by docno) tt --加子查询 where a.docno =tt.docno --通过docno来关联
还是看看group by 的用法吧
除了 mysql 外,我见过的数据库在使用 group by 子句时,在 select 后面有要求: 要么出现的字段是 group by 后面的 要么这些字段是被聚集函数(count、max、min、avg)计算出来的结果
1、全部写进group by里面 2、必须条件group by,放在子查询里面,然后再关联 3、count() over(partition by ) 具体语法找度娘
正规的Sql语法:聚合函数之外的所有字段必须全部在gp后面。。 mysql数据库除外,
语法不对,必须把你select后面的字段都加入 groupby 后面
就不管group by什么你至少得select 出来吧,你group by a.id 你就select a.id啊
你这个是怎么分组的,按什么条件分组,Group By 一下不就好了,你这个贴出来的,如果只有笔数跟单据编号,
直接Select Count(1),单据编号 From Table Group by 单据编号;
这样就好了,如果后面还有其他字段,在单据编号后面添加:
Select Count(1),单据编号,Colunm1,Colunm2,Colunm3.... From Table Group by 单据编号,Colunm1,Colunm2,Colunm3....;
..
from .. --你原查询语句
(select docno, count(docno) from m_retail group by docno) tt --加子查询
where a.docno =tt.docno --通过docno来关联
要么出现的字段是 group by 后面的
要么这些字段是被聚集函数(count、max、min、avg)计算出来的结果
2、必须条件group by,放在子查询里面,然后再关联
3、count() over(partition by ) 具体语法找度娘
mysql数据库除外,