sql >> Databasteknik >  >> RDS >> Sqlserver

Vända/blåsa ut en GROUP BY

Du kan hantera med ett vanligt tabelluttryck

WITH CTE AS (
    SELECT OwnerNumber,ItemCode,ItemNumber,CountOfItems FROM table

    UNION ALL SELECT OwnerNumber,ItemCode,ItemNumber,CountOfItems-1
    FROM CTE
    WHERE CountOfItems >= 2
)
SELECT OwnerNumber,ItemCode,ItemNumber
FROM CTE
ORDER BY ItemNumber
OPTION (MAXRECURSION 0);

Redigera:

Lade till MAXRECURSION för att hantera situationer där CountOfItems överskrider standard max rekursioner som påpekats av Dev_etter



  1. bilden hämtas inte från databasen med sökväg

  2. Hämta data från MYSQL till JSON med PHP

  3. Går det att använda SQL för att sortera efter datum men sätta nolldatum längst bak i resultatuppsättningen?

  4. Hur man använder TO_Char() i SQL Server 2008