Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z konstrukcją zapytania
Manwe89
post
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 3
Dołączył: 28.10.2008
Skąd: Łuków

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


Witam. Mam tablicę w bazie i chcę z niej pobrać posortowane dane pod id malejąco więc daje:
  1. SELECT * FROM tablica ORDER BY id DESC

No a teraz dodatkow chcialbym zeby tak mi posortowalo, zeby kolo siebie znalazy sie te same adresy email (jednak glowny porzadek zachowany zostal po id malejaco). Zpaytanie:
  1. SELECT * FORM tablica ORDER BY email, id DESC

oraz
  1. SELECT * FROM tablica ORDER BY id DESC, email

nie przyniasa mi zadanego skutku, poniwaz pierwsze z nich posortuje mi wg emaili, i tylko powtarzajace sie rekoordy (w sensie z takim samym adresem email) posortuje mi po id malejaco. drugie natomiast posortuje mi po id malejaco a po emailach tylko te z tym samym id. Jednak takowych nie ma bo id jest kluczem.

Wie ktos, albo moglby rzucic zarys jak sie uporac z moim problemem??

Ten post edytował Manwe89 22.05.2009, 12:03:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Manwe89
post
Post #2





Grupa: Zarejestrowani
Postów: 81
Pomógł: 3
Dołączył: 28.10.2008
Skąd: Łuków

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


  1. -- --------------------------------------------------------
  2.  
  3. --
  4. -- Struktura tabeli dla `pliki`
  5. --
  6.  
  7. CREATE TABLE IF NOT EXISTS `pliki` (
  8. `id` int(4) NOT NULL AUTO_INCREMENT,
  9. `imie` varchar(20) NOT NULL,
  10. `nazwisko` varchar(20) NOT NULL,
  11. `faktura` int(1) NOT NULL,
  12. `potw` int(1) NOT NULL DEFAULT '0',
  13. `email` varchar(40) NOT NULL,
  14. `hash` varchar(40) NOT NULL,
  15. `data` int(10) NOT NULL,
  16. `koszt` float NOT NULL,
  17. `kod` varchar(10) NOT NULL,
  18. `typ` int(1) NOT NULL,
  19. `akt` int(1) NOT NULL DEFAULT '0',
  20. `polecenie` int(1) NOT NULL,
  21. PRIMARY KEY (`id`)
  22. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=27 ;
  23.  
  24. --
  25. -- Zrzut danych tabeli `pliki`
  26. --
  27.  
  28. INSERT INTO `pliki` (`id`, `imie`, `nazwisko`, `faktura`, `potw`, `email`, `hash`, `data`, `koszt`, `kod`, `typ`, `akt`, `polecenie`) VALUES
  29. (1, '-', '-', 0, 0, 'adres1@email.pl', '-', 1241906400, 14.93, '-', 1, 0, 0),
  30. (2, '-', '-', 0, 1, 'adres2@email.pl', '-', 1241906400, 14.93, '-', 1, 1, 0),
  31. (3, '-', '-', 0, 1, 'adres2@email.pl', '-', 1241992800, 14.93, '-', 2, 1, 0),
  32. (4, '-', '-', 0, 1, 'adres3@email.pl', '-', 1241992800, 14.93, '-', 1, 1, 0),
  33. (5, '-', '-', 0, 1, 'aders4@email.pl', '-', 1241992800, 14.93, '-', 1, 0, 0),
  34. (6, '-', '-', 0, 1, 'adres5@email.pl', '-', 1242079200, 14.93, '-', 1, 1, 0),
  35. (7, '-', '-', 0, 1, 'adres5@email.pl', '-', 1242211390, 21.47, '-', 2, 1, 0),
  36. (8, '-', '-', 0, 0, 'adres4@email.pl', '-', 1242212891, 14.93, '-', 2, 0, 0);


pola z imieniem, nazwiskiem, hashem i kodem zaminilem na : '-' z wiadomych względów (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
i teraz o co chodzi. Na jeden adres email moze byc maksymalnie x (gdzie x to ilosc dostepnych typow, ale tym juz sie php zajmuje). jeden adres email wpisany w bazie nie musi znajdowac sie kolo swojego iminnika z innym typem (id: 5 i 7, adres4@email.pl). Ale na stronie chcialbym juz zeby wyniki wyswietlay sie w kolejnosci malejacej po id i dodatkowo pogrupowane mailami (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) tzn wynik taki chcialbym miec:

adres4
adres4
adres5
adres5
adres3
adres2
adres2
adres1
Go to the top of the page
+Quote Post

Posty w temacie


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: 15.10.2025 - 12:02