Megosztás a következőn keresztül:


Sorok rendezése (Visual Database Tools)

A következőkre vonatkozik:SQL Server

A sorokat egy lekérdezés eredményében rendezheti. Ez azt jelenti, hogy elnevezhet egy adott oszlopot vagy oszlopkészletet, amelynek értékei határozzák meg az eredményhalmaz sorainak sorrendjét.

Jegyzet

A rendezési sorrendet részben az oszlop rendezési sorrendje határozza meg. A rendezési sorrendet a Rendezés párbeszédpanelen módosíthatja.

A lekérdezési eredmények rendezésének több módja is van:

  • A sorokat növekvő vagy csökkenő sorrendbe rendezheti

    Alapértelmezés szerint az SQL sorrend szerinti oszlopokkal rendezi a sorokat növekvő sorrendbe. Ha például a könyvcímeket növekvő ár szerint szeretné rendezni, egyszerűen rendezze a sorokat az ároszlop szerint. Az eredményként kapott SQL a következőképpen nézhet ki:

    SELECT *
    FROM titles
    ORDER BY price;
    

    Másrészt, ha először a drágább könyvekkel szeretné rendezni a címeket, explicit módon megadhatja a legmagasabb első sorrendet. Ez azt jelenti, hogy az eredménysorokat az ároszlop csökkenő értékei szerint kell rendezni. Az eredményként kapott SQL a következőképpen nézhet ki:

    SELECT *
    FROM titles
    ORDER BY price DESC;
    
  • Több oszlop szerint is rendezhet

    Létrehozhat például egy eredményhalmazt, amely minden szerzőhöz egy sort tartalmaz, először állam, majd város szerint rendezve. Az eredményként kapott SQL a következőképpen nézhet ki:

    SELECT *
    FROM authors
    ORDER BY state, city;
    
  • Rendezhet olyan oszlopok szerint, amelyek nem jelennek meg az eredményhalmazban

    Létrehozhat például egy eredményhalmazt a legdrágább címekkel, annak ellenére, hogy az árak nem jelennek meg. Az eredményként kapott SQL a következőképpen nézhet ki:

    SELECT title_id,
           title
    FROM titles
    ORDER BY price DESC;
    
  • Rendezhet származtatott oszlopok szerint

    Létrehozhat például egy olyan eredménykészletet, amelyben minden sor tartalmaz egy könyvcímet , és a példányonként a legmagasabb jogdíjat fizető könyvek jelennek meg először. Az eredményként kapott SQL a következőképpen nézhet ki:

    SELECT title,
           price * royalty / 100 AS royalty_per_unit
    FROM titles
    ORDER BY royalty_per_unit DESC;
    

    (Az egyes könyvek példányonkénti jogdíjának kiszámítására szolgáló képlet ki van emelve.)

    Származtatott oszlop kiszámításához használhatja az SQL-szintaxist az előző példához hasonlóan, vagy használhat egy felhasználó által definiált függvényt, amely skaláris értéket ad vissza. A felhasználó által definiált függvényekkel kapcsolatos további információkért tekintse meg az SQL Server dokumentációját.

  • Csoportosított sorokat is rendezhet

    Például; Létrehozhat egy eredményhalmazt, amelyben az egyes sorok egy várost írnak le, valamint a város szerzőinek számát – a sok szerzőt tartalmazó városok jelennek meg először. Az eredményként kapott SQL a következőképpen nézhet ki:

    SELECT city,
           state,
           COUNT(*)
    FROM authors
    GROUP BY city, state
    ORDER BY COUNT(*) DESC, state;
    

    A lekérdezés másodlagos rendezési oszlopként használ state . Így ha két állam azonos számú szerzővel rendelkezik, ezek az állapotok betűrendben jelennek meg.

  • Nemzetközi adatokkal rendezhet

    Az; Az oszlopokat rendezheti olyan rendezési konvenciók használatával, amelyek eltérnek az adott oszlop alapértelmezett konvencióitól. Írhat például egy lekérdezést, amely lekéri Jaime Patiño összes könyvcímét. Ha betűrendben szeretné megjeleníteni a címeket, a címoszlophoz spanyol rendezési sorrendet kell használnia. Az eredményként kapott SQL a következőképpen nézhet ki:

    SELECT title
    FROM authors
         INNER JOIN titleauthor
             ON authors.au_id = titleauthor.au_id
         INNER JOIN titles
             ON titleauthor.title_id = titles.title_id
    WHERE au_fname = 'Jaime'
          AND au_lname = 'Patiño'
    ORDER BY title COLLATE SQL_Spanish_Pref_CP1_CI_AS;