有没有一些有效的方法来编写查询,将组的不同结果连接到一个公共表上?MySQL如何处理subGROUP上聚集函数的合并结果与原始表中的完整字段?
我正在使用这个,而且它很慢(除了CONDITION=1,我还需要其他条件)
SELECT a.CID,a.AS_ALL,b.AS_ACTIVE FROM
(SELECT CID,COUNT(DISTINCT RAID) AS AS_ALL FROM MYTABLE GROUP BY CID) a
LEFT JOIN
(SELECT CID,COUNT(DISTINCT RAID) AS AS_ACTIVE FROM MYTABLE WHERE CONDITION=1 GROUP BY CID ) b ON a.CID=b.CID;另外,使用像这样的东西也很节省吗??MySQL是否总是正确地将COLUMN_A与聚合结果合并?
SELECT COLUMN_A COUNT(DISTINCT COLUMN_A), SUM(COLUMN_A),SUM(COLUMN_B) FROM ATABLE WHERE CONDITION=1 GROUP BY COLUMN_C 感谢您的建议
发布于 2012-11-27 21:28:31
试试这个:
SELECT CID,COUNT(DISTINCT RAID) AS AS_ALL,SUM(IF(CONDITION=1, 1, 0)) AS AS_ACTIVE
FROM MYTABLE GROUP BY CIDhttps://stackoverflow.com/questions/13584137
复制相似问题