是不是这个意思:select count(1) from (SELECT a.caccount, cname, count_account=COUNT(*), sum_num=SUM(mnum), date_min=MIN(mdate), date_max=MAX(mdate), date_part=mdate FROM bm_person AS a LEFT JOIN bm_account AS b ON b.caccount=a.caccount WHERE (mdate BETWEEN '2005-1-1' AND '2005-11-1') GROUP BY a.caccount, mdate, cname, cicnumber HAVING SUM(mnum)>=5 and COUNT(*)>=6) a
我主要是基于效率的考虑。
FROM bm_person AS a LEFT JOIN bm_account
AS b ON b.caccount=a.caccount
WHERE (mdate BETWEEN '2005-1-1' AND '2005-11-1')
GROUP BY a.caccount, mdate, cname, cicnumber
HAVING SUM(mnum)>=5 and COUNT(*)>=6) a