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

Reverse/Flow out a GROUP BY

Můžete spravovat pomocí Common Table Expression

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);

Upravit:

Přidáno MAXRECURSION ke zvládnutí situací, kdy CountOfItems překračuje výchozí maximální počet rekurzí, jak poukázal Dev_etter



  1. Jak ADDTIME() funguje v MariaDB

  2. sloupec zde není povolen chyba v příkazu INSERT

  3. Heslo databáze s vypršelou platností a stále aktivní připojení

  4. Použití `rand()` s `having`