Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie czasu
Forum PHP.pl > Forum > Bazy danych > MySQL
piotrdd2
Witam

Posiadam 2 tabele:

  1. CREATE TABLE `spis` (
  2. `id` int(11) NOT NULL,
  3. `nazwisko` text character SET utf8 collate utf8_unicode_ci NOT NULL,
  4. `rok` text character SET utf8 collate utf8_unicode_ci NOT NULL,
  5. `grupa` text character SET utf8 collate utf8_unicode_ci NOT NULL,
  6. `szkola` text character SET utf8 collate utf8_unicode_ci NOT NULL,
  7. PRIMARY KEY (`id`)
  8. ) ENGINE=MyISAM DEFAULT CHARSET=latin2;



  1. CREATE TABLE `cza` (
  2. `id` int(11) NOT NULL,
  3. `czas` text NOT NULL
  4. ) ENGINE=MyISAM DEFAULT CHARSET=latin2;



Zapytanie:
  1. SELECT spis.id, spis.nazwisko, cza.czas, spis.grupa, spis.szkola FROM `cza`, `spis`
  2. WHERE spis.id=cza.id ORDER BY `spis`.`grupa` ASC, `cza`.`czas` DESC



jak zrobić aby sortowało mi wg grupy, a następnie wg czasu?? a Czas jest podany w postaci np. 47,01 (47-s, 01-ms), 1,23,56(1-m,23-s,56-ms)

i kolejne pytanie, mam już taki mętlik w głowie że nie wiem jak do tego dojść:
w jaki sposób wyświetlić rekordy z tabeli "cza" które nie są powiązane z tabela "spis"
phpion
1. Użyj normalnego typu danych czyli liczbowego. Wpisując wszędzie tekst skazujesz się na problemy przy sortowaniu i w zadawaniu warunków.
2. WHERE NOT EXISTS.
piotrdd2
Cytat(phpion @ 17.02.2010, 10:04:14 ) *
1. Użyj normalnego typu danych czyli liczbowego. Wpisując wszędzie tekst skazujesz się na problemy przy sortowaniu i w zadawaniu warunków.



no okwszystko bedzie jeśli czas przyjmie formatu 34,21
a jesli bedzie wygladal tak: 1,34,21 (1 minuta, 34 sekundy, 21 milisekund)
Mchl
Zapisuj ilość sekund.
1:34,21 = 94,21

Gwoli ścisłości. Minuta, 34 sekundy i 21 milisekund, to 94,021
piotrdd2
ok problem rozwiązany.


kolejne pytanie:
  1. SELECT DISTINCT spis.szkola, spis.grupa, min(cza.milisek) FROM spis, cza WHERE spis.id=cza.id GROUP BY spis.szkola, spis.grupa



w obecnym przypadku wyświetla mi najlepsze czasy pogrupowane grupa&szkola

chciałbym aby dla danej szkoły wyświetlało mi maximum po 5 czasów w każdej grupie

było tak:
GIM I B1 29090
GIM I B2 32120
GIM I B3 30190
GIM I B4 33480
GIM II B1 11580
....

a chciałbym tak:

GIM I B1 29090
GIM I B1 .....
GIM I B1 ....
GIM I B1 .....
GIM I B1 ....
GIM I B2 32120
....
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.