ďťż
 
zliczanie wierszy, za duzo wynikow ďťż
 
zliczanie wierszy, za duzo wynikow
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

zliczanie wierszy, za duzo wynikow



sd - 11-11-2005 11:41
zliczanie wierszy, za duzo wynikow
  witam

dlaczego mysql zwrocil mi 4 wiersza po wykonaniu takiego zapytania:
SELECT count(*) FROM targi_firma_branza AS tfb WHERE tfb.branza_id = 1
GROUP BY tfb.firma_id

baza ktorej to dotyczy:

FIRMA_BRANZA:
firma_id
branza_id
podbranza_id

zadna kolumna nie jest unikalna, moga byc 3 firmy w jednej branzy, moze
byc 3 branze do jednej firmy

wg mnie sa 4 firmy ktore maja branza_id = 1
a mysql zworcil:

2
2
1
1

doradzicie mi co jest nie tak w tym zapytaniu i dlaczego az 4 wiersze
zwrocil mysql?

bede wdzieczny za wskazowki
pozdrawiam





A.L.E.C - 11-11-2005 11:41

  sd wrote:

> dlaczego mysql zwrocil mi 4 wiersza po wykonaniu takiego zapytania:
> SELECT count(*) FROM targi_firma_branza AS tfb WHERE tfb.branza_id = 1
> GROUP BY tfb.firma_id
>
> wg mnie sa 4 firmy ktore maja branza_id = 1
> a mysql zworcil:
>
> 2
> 2
> 1
> 1

Wyciąg w tym zapytaniu dodatkowo kolumnę firma_id, to może cię oświeci.
Piszesz, że są 4 firmy, dlatego są 4 rekordy. Napisz może jaki wynik
chciałeś osiągnąć.

--
Aleksander 'A.L.E.C' Machniak http://alec.pl gg-2275252
LAN Management System Developer http://lms.alec.pl




Morff - 11-11-2005 11:41

  A.L.E.C napisał(a):
> sd wrote:
>
>
>>dlaczego mysql zwrocil mi 4 wiersza po wykonaniu takiego zapytania:
>>SELECT count(*) FROM targi_firma_branza AS tfb WHERE tfb.branza_id = 1
>>GROUP BY tfb.firma_id
>>
>>wg mnie sa 4 firmy ktore maja branza_id = 1
>>a mysql zworcil:
>>
>>2
>>2
>>1
>>1

bo grupujesz po firma_id a nie branża_id .. skoro są 4 firmy a po nich
grupujesz to masz 4 wiersze

--
Pozdrawiam
Morff
----------
AQQ 141151




sd - 11-11-2005 11:41

  Morff napisał(a):

> bo grupujesz po firma_id a nie branża_id .. skoro są 4 firmy a po nich
> grupujesz to masz 4 wiersze
>
>

czyli jak mam pobrac ilosc firm?
jak juz pisalem mam w bazie zapisane

firma_id | branza_id | podbranza_id
1 | 2 | 2
1 | 3 | 1
1 | 2 |
3 | 2 | 1
5 | 2 | 2

i tutaj chcialem wynik 3
bo wiadomo jak juz zostala raz firma przypisana do branzy to bezsensu
zebym dodawal ja znowu gdy pojawi sie znowu w innej podbranzy

z gory dziekuje za pomoc





A.L.E.C - 11-11-2005 11:41

  sd wrote:
> czyli jak mam pobrac ilosc firm?

ilość firm w danej branży?

SELECT COUNT(*) FROM table WHERE branza_id = x;

jeśli wpisy się nie powielają, lub

SELECT COUNT(DISTINCT firma_id) FROM table WHERE branza_id = x;

jeśli się powtarzają

> bo wiadomo jak juz zostala raz firma przypisana do branzy to bezsensu
> zebym dodawal ja znowu gdy pojawi sie znowu w innej podbranzy

żeby się nie powtarzały, to najlepiej załóż dwukolumnowy klucz unikalny

--
Aleksander 'A.L.E.C' Machniak http://alec.pl gg-2275252
LAN Management System Developer http://lms.alec.pl




Morff - 11-11-2005 11:41

  sd napisał(a):

> czyli jak mam pobrac ilosc firm?
> jak juz pisalem mam w bazie zapisane

> firma_id | branza_id | podbranza_id
> 1 | 2 | 2
> 1 | 3 | 1
> 1 | 2 |
> 3 | 2 | 1
> 5 | 2 | 2
>
> i tutaj chcialem wynik 3
> bo wiadomo jak juz zostala raz firma przypisana do branzy to bezsensu
> zebym dodawal ja znowu gdy pojawi sie znowu w innej podbranzy

nie znam składni mysql-a , ale moze zadziała ..

select count(distinct firma_id) from targi_firma_branza WHERE branza_id=1

--
Pozdrawiam
Morff
----------
AQQ 141151




sd - 11-11-2005 11:41

  A.L.E.C napisał(a):

> SELECT COUNT(DISTINCT firma_id) FROM table WHERE branza_id = x;
>

zaraz popatrze

>
> żeby się nie powtarzały, to najlepiej załóż dwukolumnowy klucz unikalny
>

ale ja chce zeby sie powtarzaly
bo firma moze przynalezec tdo kilku branz




sd - 11-11-2005 11:41

  Morff napisał(a):

>
> nie znam składni mysql-a , ale moze zadziała ..
>
> select count(distinct firma_id) from targi_firma_branza WHERE branza_id=1
>

ooo wlasnie o to mi chodzilo dziala dobrze
dziekuje bardzo
kolega w poscie tez tak napisal tez mu bardzo dziekuje za odpowiedz

pozdrawiam
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [MySQL] Skopiowanie =?ISO-8859-2?Q?warto=B6ci_z_jednego_po?==?ISO-8859-2?Q?la_do_drugiego_w_jednej_tabeli=2C_r=F3=BFne_?= =?ISO-8859-2?Q?wiersze=2E?= [Oracle] =?ISO-8859-2?Q?=A3=B1czenie_wierszy_z_zapytania_?==?ISO-8859-2?Q?w_jeden_string?= [mysql] =?ISO-8859-2?Q?po=B3=B1czenie_tabel_wg_kolumn=2C_?==?ISO-8859-2?Q?nie_wierszy?= =?ISO-8859-2?Q?=5BOracle=5D_Porownanie_wierszy_z_tych_?==?ISO-8859-2?Q?samych_tablic_na_2_r=F3=BFnych_schematach?= Jednoczesne sumowanie kolumn i wierszy oraz multiplikacja kolumn [SQL] W jaki sposób zwrócić wiersze które NIE znadują się w 2 pozostałych kolumnach Wstawianie nowego wiersza w przypadku jego braku podczas SELECT w PostgreSQL MSSQL: =?iso-8859-2?Q?por=F3wnanie_dw=F3ch?= wierszy? [MySQL] wiele =?ISO-8859-2?Q?rekord=F3w_-=3E_jeden_wiersz?= SELECT: =?iso-8859-2?Q?po=B3=B1czenie?= kilku wierszy
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • fantazia.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com