sql >> Databasteknik >  >> RDS >> Sqlserver

visa de tre översta posterna i ett kommatecken separerat i en kolumn

Jag antar att "topp tre" är de tre vanligaste elementen i spalten Expertis, men detta kan ändras om det inte är vad du menade.

WITH T1 AS (
    SELECT TOP(3) Expertise, COUNT(*) AS cnt
    FROM Expertise
    GROUP BY Expertise
    ORDER BY cnt DESC
), T2 AS (
   SELECT ROW_NUMBER() OVER (ORDER BY cnt DESC) AS rn, Expertise
   FROM T1
)
SELECT (SELECT Expertise FROM T2 WHERE rn = 1) + ',' + 
       (SELECT Expertise FROM T2 WHERE rn = 2) + ',' +
       (SELECT Expertise FROM T2 WHERE rn = 3)

Resultat:

dfdf,.NEt,fgfg


  1. När jag väl har aktiverat modeller i django, varför kan jag inte fråga dem direkt i postgresql pgAdmin UI?

  2. Konfigurerar UTL_MAIL-paketförutsättningar

  3. MySQL behandlar ÅÄÖ som AAO?

  4. Slå samman två tabeller i SQL Server 2008