Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapytanie mysql o grupowanie danych
Forum PHP.pl > Forum > Przedszkole
grzegorz_g
mam taka strukture tabeli ' t_golekartki':
id | pilkarzid | meczid
i dane:

1 | 333 | 2
2 | 333 | 2
3 | 444 | 2
4 | 444 | 1
5 | 444 | 3
6 | 333 | 4

w tabeli zapisuję strzelców bramek (pilkarzid) i chodzi mi o wydobycie z
bazy, który ze strzelców strzelił najwięcej bramek w danym meczu (meczid)


a drugi problem z który tez nie daję sobie rady i licze na Waszą pomoc to :
tabela : t_mecze

id / gosp / gosc / gol1 / gol2

1/ 222 / 333 / 1 / 3
2/ 222 / 444 / 1/ 2
3/ 222 / 555 / 1/ 1
4/ 222 / 666 / 1/ 4

i moje pytanie w jaki sposób (najprostszy) zapisać zapytanie mysql by wydobyć
z bazy serię porażek drużyny '222'
,w tym przypadku seria nie przerwana to 2 (1/3) (1/2)

za wszelką pomoc z góry dzięki
crash
Pierwsze:
Gdzie jest ilość bramek? To zapytanie ma zgadywać czy jak?
  1. SELECT *
  2. FROM t_golekartki WHERE meczid = 2 ORDER BY ilosc_bramek DESC LIMIT 1


Drugie:
Nie rozumiem. Proszę jaśniej tongue.gif
SongoQ
Cytat
Gdzie jest ilość bramek? To zapytanie ma zgadywać czy jak?

Przeciesz napisal:
id | pilkarzid | meczid
1 | 333 | 2
2 | 333 | 2

To chyba widac ze pilkarze sie powtarzaja

  1. SELECT COUNT(*) AS ilosc, pilkarzid, meczid
  2. FROM t_golekartki GROUP BY pilkarzid, meczid ORDER BY ilosc LIMIT 1


2 zapytanie hmm bez uzycia php trudno bedzie, bo tam siedza oprocz druzyny 2 tez inne druzyny. No chyba ze 222 druzyna wystepuje zawsze to mozna by cos z podselectem pokombinowac.
grzegorz_g
dzięki SongoQ - ad2 tak będą występowały tylko drużyny '222' jako gosp i przec.
SongoQ
Z tymi seriami, to ma byc zawsze pierwsza seria czy jak? Mozesz opisac?
grzegorz_g
chodzi mi o wyciągnięcie najdłuższej serii czyli np. bez porażki (gol1>=gol2) ,najdłuższą serię zwycięst itp

Zrobiłem coś takiego:
  1. <?php
  2.  
  3. if ((($row['gol1'] > $row['gol2']) and ($row['gospodarz']==$id_team)) or (($row['gol1'] < $row['gol2']) and ($row['przeciwnik']==$id_team)))
  4. {
  5. $cnt_win++; $wykres[]=1; 
  6. }
  7. else
  8. {
  9. $arrWins[] = $cnt_win; 
  10. $cnt_win = 0;
  11. }
  12.  
  13. rsort($arrWins);
  14. rsort($arrRemis);
  15. rsort($arrLost);
  16.  
  17.  
  18. $intWins3 = $arrWins[0]; // ilość kolejnych zwycięstw
  19.  
  20.  
  21. ?>


ale teraz potrzebuję jescze wyciągnąć te id, które są w tej serii. Bardzo prosze o pomoc. Za wszelkie info dzięki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.