ऐसा लगता है कि आप जो चाहते हैं उसे करने का सबसे तेज़ तरीका यह होगा कि आप अपना counted2
बदल दें CTE, इसलिए कॉलम TimesTested
अपने तर्क को ध्यान में रखें। तो यह होना चाहिए:
counted2 as (
SELECT
client_id,
CASE WHEN TimesTested >= 12 THEN 12 ELSE TimesTested END TimesTested,
CAST(COUNT(*) AS varchar(30)) AS count,
CAST(AVG(testfreq) as varchar(30)) as TestFreq,
CAST(STDEV(TestFreq) as varchar(30)) Stdv
FROM counted
GROUP BY
client_id,
CASE WHEN TimesTested >= 12 THEN 12 ELSE TimesTested END
)