Csoportos jelentkezés (SQL GROUP BY záradék)

Ahogy a neve is jelzi, a GROUP BY záradék rögzíti, hogy a csoportok azonos értéket a / s colnma / s indocadas grupo.Por, mint például, ha megkapjuk a neve minden menbers a klub végre egy nyilatkozatot, mint az alábbi:

 SELECT név FROM tagok

Tegyük fel, hogy több tagja is ugyanazzal a névvel, ez ad nekünk ismétlődő sorok. Nos, ha az, amit mi akarunk, hogy csak az utolsó nevek különböznek. Ehhez szükségünk van a csoport tagjai az azonos vezetéknév egy csoportot, és azt mutatják, a csoport helyett a sorok.

 SELECT név FROM tagok GROUP BY name

Nézzük egy konkrét példát azzal a kiegészítéssel, például a SUM.

Tudom, hogy mennyi a díja kategóriánként. Majd felsorolni az összes tag kellene csoportosítani őket kategória, és hozzáadjuk a részvények minden. Én is mindent megtesz, hogy egyetlen nyilatkozatot:

 Válasszon kategóriát, sum (díj) mennyisége, FROM tagok GROUP BY kategóriában

Ez nagyon hasznos cláusla Használatuk csak egy kis gyakorlás, hogy megértsük a működését.

Remélem ez segít.

7 Responses to "Csoportos jelentkezés (SQL GROUP BY záradék)"

  1. Bitacoras.com mondja:

    Információ Bitacoras.com ...

    Értékeld az Bitacoras.com: Ahogy a neve is jelzi a GROUP BY záradék rögzíti, hogy a csoportok azonos értéket a / s colnma / s indocadas grupo.Por mint például, ha megkapjuk a neve minden menbers a klub állna sen ...

  2. Patty azt mondja:

    Mi van, ha meg akarom mutatni inkább oszlop select X PÉLDA:

    TELJES nro_nota_venta kedvezményes részösszeg
    --------------------------------------
    001 5.059.252 60,00 0,00 60,00
    466-112 40,00 20,00 20,00
    466-112 0,00 80,00 80,00

    HASZNÁLATA Ez a mondat nem éri Q MUSTRE Egyetlen feljegyzés KISKERESKEDELMI

    SELECT [nro_nota_venta]
    [Részösszeg]
    [Off]
    , SUM ([összesen]) Mivel a teljes
    Az [TheStage]. [Dbo]. [Nota_Venta]
    GROUP BY [nro_nota_venta], [Részösszeg] [akciós]

    Azonban, ha ez a mondat PUT

    SELECT [nro_nota_venta]
    , SUM ([összesen]) Mivel a teljes
    Az [TheStage]. [Dbo]. [Nota_Venta]
    GROUP BY [nro_nota_venta]
    Az eredmény az egyetlen, amit akar, de nem akarom, hogy csak SHOW de azok más oszlopok 1ST PÉLDA

    TELJES nro_nota_venta
    ------------------------
    001 5.059.252 60,00
    466-112 100,00

    Hogyan lehet megmutatni, hogy CSAK EGY MEGJEGYZÉS AZ ELADÓ

    • Elizeus azt mondja:

      Az első állítás igaz. És ez azt mutatja, az NR párhuzamos értékesítési csúszik, mert nem csak csoportosítása ezt a kódot, hanem a kombinációja részösszeg + + nr kedvezményt, és ha jobban megnézed az összes rekordot vissza ez a kombináció egyedülálló.
      Próbáld ki ezt:
      SELECT [nro_nota_venta]
      , SUM [részösszeget a] részösszeg
      , SUM [akciós] ki, mint
      , SUM ([összesen]) Mivel a teljes
      Az [TheStage]. [Dbo]. [Nota_Venta]
      GROUP BY [nro_nota_venta]

      Luck.

  3. Leonardo azt mondta:

    Szeretném tudni, hogyan tudok hozzá két vagy több oszlopot. A következő példa a pénzt, és én vagyok regisztráció választás minden q, és hozzá az oszlopot, hogy a teljes

  4. Colby mondja:

    Ez a fő ok, amiért szeretem http://www.solovb.net . Aweosme post.

  5. Lissette mondja:

    Van egy problémám, van egy lekérdezés, amely megmutatja az ismétlődő értékek, mert van egy időintervallum, itt vagyok, mi történik velem

    Select S.Nombre, Nomb_prov, idprovincia, Cape = összeolvadnak ((Select Sum (CapEmbarazadas) születéstől az N
    WHERE N.Ano = A.Ano és N.idsucursal = A.idsucursal és A.idprovincia = N.idprovincia), 0),
    Vizsgált = összeolvadnak (Sum (tanult), 0),
    NoEstudiadas = összeolvadnak ((Select Sum (CapEmbarazadas) született, mint ahol n = N.Ano A.Ano
    és N.idsucursal = A.idsucursal és A.idprovincia N.idprovincia =)-Sum (tanult), 0),
    Lefedettség = összeolvadnak (Convert (decimális (5.2), összeolvadnak (Sum (tanult), 0) /
    Konvertálás (Real, (Select Sum (CapEmbarazadas) a N.Ano születési helyeként az N = A.Ano
    és N.idsucursal = A.idsucursal N.idprovincia és A.idprovincia =))), 0) * 100
    A progeszteron-tól, tartományok P, S, mint ahol az ügyfelek
    A.idprovincia = P.Cod_Prov és Id_pais = 'CU' és A.Ano között '2009 'és '2010' és A.idlaboratorio = ClientCode
    Csoportosítás A.idsucursal, Nomb_prov, A.idprovincia, S.nombre, A.ano

    Ez az, ami megmutatja nekem

    HIPEF Jatibonico (Pol Doc Antonio Avila Valdivia) Spirits Sancti SP 7 0 15 0 0.00
    HIPEF Caibari, n (CMHE) Villa Clara 6 0 22 0 0.00
    DAVIHLAB Havanna 2 410 5 405 1,00
    Hosp. Artemis Havanna 2 0 2 0 0.00
    Hosp. Artemis Havanna 2 410 20 390 5,00
    Hosp. Sandino Pinar del R o 20 1 0 0 0.00
    Hosp. Sandino Pinar del R vagy 1660 20 640 3,00

    Látod Artemis Kórház és Sandino kerülök ismételni, mert mindkettő értéke 2009-ben és 2010-ben. Ahogy tudok nekem csak egyszer, a hozzáadott érték?

    • Elizeus azt mondja:

      Abból, amit látok ez a csoportosítás három mező (Csoportosítás A.idsucursal, Nomb_prov, A.idprovincia, S.nombre, A.ano) fogja csoportosítani az összes rekordot, ahol a "három" mezők ugyanazokat az adatokat, ami nem történik, a fenti példában azt tegye, mintha a kórház ugyanaz van egy terület, amely tartalmazza a különböző adatokat.

      Üdvözlettel

      Elizeus

Hozzászólás