sql >> Databáze >  >> RDS >> Sqlserver

zobrazit 3 nejlepší záznamy oddělené čárkou v jednom sloupci

Předpokládám, že "první tři" jsou nejčastěji se vyskytující tři prvky ve sloupci Odbornost, ale to lze změnit, pokud to není to, co jste měli na mysli.

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)

Výsledek:

dfdf,.NEt,fgfg


  1. Postgres se nemohl připojit k serveru

  2. smazat, kde je id největší

  3. Jak přistupovat k databázi mysql pomocí skriptu shell?

  4. jak hledat přesný řetězec v mysql