Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]sortowanie
olszam
post
Post #1





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

Ostrzeżenie: (0%)
-----


mam mały problem z sortowaniem 3 kolumn gdzie w każdej z nich wyznaczone są odległości (skok1,skok2,skok3) i chciałbym aby to było posortowane w taki sposób by sprawdzało wszystkie odległości jakie są w tabeli wybrało ten najdłuższy

coś mniej więcej takiego

skok1 | skok2 | skok3
870 | 810 | 830
800 | 820 | 860
750 | 840 | 820
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
kefirek
post
Post #2





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

Ostrzeżenie: (0%)
-----


  1. SELECT*
  2. FROM (
  3. SELECT skok1
  4. FROM tabela
  5. UNION ALL
  6. SELECT skok2
  7. FROM tabela
  8. UNION ALL
  9. SELECT skok3
  10. FROM tabela
  11. ) AS tab
  12. ORDER BY skok1 DESC


Ten post edytował kefirek 12.02.2012, 18:09:34
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


GREATEST(col1,col2,...)
Go to the top of the page
+Quote Post
olszam
post
Post #4





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

Ostrzeżenie: (0%)
-----


poradziłem sobie po części bo to jest mi to potrzebne do wyszukiwarki ale pojawia się inny problem otóż mam takie zapytanie
  1. SELECT * FROM danezawody
  2. INNER JOIN zawody ON zawody.iddanezawody = danezawody.iddanezawody
  3. INNER JOIN trener ON zawody.idtrener = trener.idtrener
  4. INNER JOIN zawodnik ON zawody.idzawodnik = zawodnik.idzawodnik
  5. WHERE trener.nazwiskotrener LIKE '%$znajdz%' OR
  6. trener.imietrener LIKE '%$znajdz%' OR trener.krajtrener LIKE '%$znajdz%' OR zawodnik.imiezawodnik LIKE '%$znajdz%' OR zawodnik.nazwiskozawodnik LIKE '%$znajdz%'
  7. OR zawodnik.krajzawodnik LIKE '%$znajdz%' OR danezawody.rodzajzawodow LIKE '%$znajdz%' OR
  8. danezawody.miejscezawodow LIKE '%$znajdz%' ORDER BY $rad4

gdzie $znajdz jakaś tam dowolna nazwa, a $rad to po czym ma sortować. I mam taką tabele

  1. <table cellpadding="5" border=5>
  2. <tr>
  3. <td>Turniej</td>
  4. <td>Faza</td>
  5. <td>Miasto</td>
  6. <td>Data Zawodów</td>
  7. <td>Trener</td>
  8. <td>Zawdonik</td>
  9. <td>Skok1</td>
  10. <td>Skok2</td>
  11. <td>Skok3</td>
  12. <td>Najdłuższy Skok</td>
  13. </tr>';
  14. while ($Wiersz3 = mysql_fetch_array($rezultat3)){
  15. echo'<tr>
  16. <td>'.$Wiersz3['rodzajzawodow'].'</td>';
  17.  
  18.  
  19. echo'<td>'.$Wiersz3['faza'].'</td>
  20. <td>'.$Wiersz3['miejscezawodow'].'</td>
  21. <td>'.$Wiersz3['datazawodow'].'</td>
  22. <td>'.$Wiersz3['imietrener'].' '.$Wiersz3['nazwiskotrener'].' ('.$Wiersz3['krajtrener'].')</td>
  23. <td>'.$Wiersz3['imiezawodnik'].' '.$Wiersz3['nazwiskozawodnik'].' ('.$Wiersz3['krajzawodnik'].')</td>
  24. <td>'.$Wiersz3['skok1'].'</td>
  25. <td>'.$Wiersz3['skok2'].'</td>
  26. <td>'.$Wiersz3['skok3'].'</td>
  27. <td>'.max($Wiersz3['skok1'], $Wiersz3['skok2'], $Wiersz3['skok3']).'</td>
  28. </tr>';
  29. }
  30. echo '</table>'

i chciałbym żeby tą ostatnią kolumnę z max-em mógł ją posortować tak by rekord z tej tabeli była jakoś odpowiednio przypisana do innych rekordów

Ten post edytował olszam 14.02.2012, 14:39:10
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 05:58