我是否有可能在一个查询中减少查询数量并实现以下不同的分解?访问的表很大,包含数百万条记录。所以我尝试优化查询,这样我就不必多次访问同一个表了!
答案 0 :(得分:1)
看起来你想要rollup
或分组。我认为这可能接近你正在寻找的东西:
SELECT 'Chicago' AS Region, District, SchoolName AS School, Category ,
COUNT(DISTINCT ssid) AS Total ,
SUM(DirectEnroll) AS Met
FROM final.NSC_Analysis
WHERE GradYear = 2013
GROUP BY Category, Schoolname, District WITH rollup;
不幸的是,这对于2008之前的SQL Server中的count(distinct)
并不适用。