sql >> Databasteknik >  >> RDS >> Sqlserver

hur man aggregerar värden från en pivot?

Det verkar som att det snabbaste sättet att göra vad du vill är att ändra din counted2 CTE, alltså kolumnen TimesTested ta hänsyn till din logik. Så det borde vara:

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
    )



  1. Hur man bestämmer värden för saknade månader baserat på data från tidigare månader i T-SQL

  2. Är ett index klustrat eller oklustrat i Oracle?

  3. INNER JOIN ON vs WHERE-klausul

  4. MYSQL-fråga med variabel som tabellnamn i LEFT JOIN