příkaz group by   zodpovězená otázka

SQL, Databáze

Četl jsem na diskuzi příkazu distinct a místo něj použití příkazu group by.

Bohužel ani to mi neakceptuje.

Mám zatím toto:

select warehouse,customerno,shiptono,truckno,partno,shippingdd,qty from HSprout where shippingym = '" & TextBox1.Text & "' and  [partno] like '" + TextBox2.Text + "%'order by warehouse,customerno,shiptono,partno

Chtěl jsem použít ještě příkaz group by a nefunguje.

Kód by měl vypadat přibližně takto:

select warehouse,customerno,shiptono,truckno,partno,shippingdd,qty from HSprout where shippingym = '" & TextBox1.Text & "' and  [partno] like '" + TextBox2.Text + "%'order by warehouse,customerno,shiptono,partno group by shippingdd

Bohužel nejde. Nevím kde je chyba.

Poraďte prosím.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Aby to někoho nezmátlo,tak to vypadá takto:

Dim con As SqlConnection
Dim ada As SqlDataAdapter
con = New SqlConnection("Data Source=server;Initial Catalog=cat;User ID=user; Password=password;")
ada = New SqlDataAdapter("select warehouse,customerno,shiptono,truckno,partno,shippingdd,qty from HSprout where shippingym = '" & TextBox1.Text & "' and  [partno] like '" + TextBox2.Text + "%'order by warehouse,customerno,shiptono,partno", con)

K tomu chci právě group by

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A co chcete přesně udělat? Co má být výsledek dotazu? Proč potřebujete použít group by?

Podle kódu chcete vybrat podle kritérií záznam. Proč nad ním provádět group by? Možná najdeme lepší řešení, pokud lépe a na jednodušším příkladě vysvětlíte co potřebujete.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No vono těžko říct,prostě seřadit a ještě sečístu duplicitní záznamy v příslušném sloupci. To bych musel asi poslat databázi,aby to bylo k pochopení.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Sečíst? Jako matický součet? Ono to vysvětlit určitě půjde, jen musíte správně popsat problém a čeho chcete dosáhnout.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud to dobře chápu, chcete seskupit položky se stejnou hodnotou v jednom sloupci a ostatní hodnoty sečíst. Příklad:

SELECT Polozka, Kusu FROM Tabulka

Polozka         Kusu
--------------------
Hadry           10
Hadry            3
Hadry            9
Motyka          12
Hadry            8

Výsledkem má být toto:

Polozka         Kusu
--------------------
Hadry           30
Motyka          12

Dosáhneme toho příkazem:

SELECT Polozka, SUM(Kusu) FROM Tabulka GROUP BY Polozka

GROUP BY říká, podle kterého sloupce se mají položky seskupovat (může jich klidně být více, oddělí se čárkou). V samotném selectu můžete vybírat jen sloupce, podle kterých slučujete (ty, co jsou uvedeny za GROUP BY), a pak ještě výsledky agregačních funkcí, které zpracují hodnoty v jednotlivých seskupených záznamech. Těmito funkcemi jsou třeba SUM (součet), AVG (průměr), MIN (minimum), MAX (maximum) a ještě pár dalších.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback