Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 21.05.2008 Ostrzeżenie: (0%)
|
Mam pytanie, czy da się sortować dane z bazy na podstwaie wiecej niz jednego pola. Mamy np. pola w tabeli: id, imie, nazwisko, kod, adres, ...
mam zapytanie obecne: select * from tabela order by nazwisko asc a chciałbym żeby sortowanie odbywało się po nazwisku i imieniu. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%)
|
ORDER BY nazwisko, imie ASC
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 21.05.2008 Ostrzeżenie: (0%)
|
próbowałem, niestety nie działa :-(
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%)
|
Jak nie działa, nie sortuje po nazwisku?
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 21.05.2008 Ostrzeżenie: (0%)
|
czytanie ze zrozumieniem: sortowanie na podstawie wiecej niz jednego pola
Ten post edytował shreker 13.12.2010, 19:45:01 |
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
shrek ty sie nie oburzaj tylko sam czytaj ze zrozumieniem. To co dostales dziala. Kazdemu z nas dziala tylko tobie jednemu nagle nie...
moze źle skopiowales, moze dziala inaczej niz myszlisz.... podaj wiec laskawie swoj kod po zmianach, podaj dane, podaj jakiego sortowania oczekiwales a nie sie tu burzysz. powtarzam: kod co dostales dziala. |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 21.05.2008 Ostrzeżenie: (0%)
|
całe zapytanie wygląda dokładnie tak: select * from tabela order by nazwisko, imie asc limit $startpoint,$perpage
jest to zapytanie w funkcji stronicującej. kiedy sortuje według naziska, albo imienia - działa bez problemów, natomiast kiedy to połączyłem to sortuje tylko według nazwiska. Co do burzenia się to nie burzę się, ale pytanie potreba zostało sformułowane jakby miało sortować po nazwisku, a nie sortowało, więc nie ma co się dziwić że napisałem o czytaniu ze zrozumieniem. Skoro jednak ma to działać a nie działa, to co może być powodem ? |
|
|
|
Post
#8
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Moze ty poprostu inaczej niz my rozumiesz "sortowanie po nazwisku i imieniu" (IMG:style_emoticons/default/smile.gif)
Powtarzam jeszcze raz. Pokaz dane po sortowaniu a nastepnie pokaz jakiego wyniku oczekiwales. |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 21.05.2008 Ostrzeżenie: (0%)
|
sortowanie rozumiem tak:
przed sortowaniem: (nazwisko, imie) b, a c, d a, b d, c obecnie mam tak: a, b b, a c, d d, c a ma być: a, a b, b c, c d, d proste ? co w tym niezrozumiałego ? Ten post edytował shreker 13.12.2010, 20:46:54 |
|
|
|
Post
#10
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Cytat proste ? co w tym niezrozumiałego ? No widzisz, znowu sie burzysz i znowu bez powodu. Tak, to jest proste. ALe niestety to ty nie rozumiesz na czym polega sortowanie po dwóch polach. Tak wiec sie nie burz na przyszlosc tylko sie doksztalc (IMG:style_emoticons/default/winksmiley.jpg) sortowanie po dwoch polach polega na tym, ze gdy pierwsze pole bedzie kilka takich samych wartosci, to wowczas te rekordy zostana posortowane po drugim polu. Czyli u Ciebie wynik jest jak najbardziej prawidlowy. A ze ty sortowanie rozumiesz zupelnie inaczej to juz inna bajka (IMG:style_emoticons/default/tongue.gif) Cytat a ma być: Jakim cudem ci to w ogole moglo przyjsc do glowy? Przeciez przy takim sortowaniu kolumny mają wartosci z roznych rekordow. A zapytanie select nie miesza wartosci rekordow, tylko rekord traktuje jako rekord a nie mieszanke kilku
a, a b, b c, c d, d |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 21.05.2008 Ostrzeżenie: (0%)
|
nie do końca nospor. dla przykładu: masz:
1. kowalski jan 2. kowalski zbigniew 3. kowalski adam Jak według ciebie powinno być to posortowane, bo według mnie w kolejności: 3, 1, 2. Chyba że jest inne sortowanie. |
|
|
|
Post
#12
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Cytat , bo według mnie w kolejności: 3, 1, 2. Dokladnie w takiej. Cieszę się, ze wkoncu zalapales, bo to co pokazales w poprzednim poscie to bylo dalekie od "zalapania" (IMG:style_emoticons/default/smile.gif)
|
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 21.05.2008 Ostrzeżenie: (0%)
|
nospor, ale mi od samego początku o to właśnie chodziło. Tylko dalej nic z tego nie wynika. Skoro zapytanie jest dobre, to co może być powodem że dane są sortowane tylko według nazwiska?
|
|
|
|
Post
#14
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Cytat ale mi od samego początku o to właśnie chodziło. NIe, w tym poscie:Cytat sortowanie rozumiem tak: Przedstawiles ZUPELNIE inna idee sortowania.przed sortowaniem: (nazwisko, imie) b, a c, d a, b d, c obecnie mam tak: a, b b, a c, d d, c a ma być: a, a b, b c, c d, d Pokaz wiec jeszcze raz wszystkie dane, nie zadne a b c d tylko poprawne dane, gdzie sa inne nazwiska a nie tylko kowalski, bo podejrzewam ze jednak nadal masz na mysli inne sortowanie (IMG:style_emoticons/default/smile.gif) No dobra, a dla takich danych w jakiej kolejnosci baza zwraca ci dane 1. kowalski jan 2. kowalski zbigniew 3. kowalski adam 4. awangarda zbigniew ? Bo ustalilismy ze powinna zwracac tak: awangarda zbigniew kowalski adam kowalski jan kowalski zbigniew A tobie jak zwraca?
Powód edycji: [nospor]:
|
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 21.05.2008 Ostrzeżenie: (0%)
|
zwraca w kolejnosci: 4, 1, 2, 3. czyli według samego nazwiska, jeżeli dam według imienia to będzie według imienia, ale w połączeniu sortuje tylko według nazwiska. nie mam pojęci już co może być powodem ?
|
|
|
|
Post
#16
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Pokaz zrzut ekranu z PMA bo ci normalnie nie wierze (IMG:style_emoticons/default/smile.gif)
Tylko taki zrzut, zeby bylo widac wprowadzone zapytanie (IMG:style_emoticons/default/smile.gif) ps: bo sprawdzales to w PMA? Bo jesli opierasz sie tylko na swoim skrypcie php, to prawdopodobnie gdzies sie jarbnąłeś. |
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 21.05.2008 Ostrzeżenie: (0%)
|
zapytanie jest na pewno ok, bo próbowałem na innej tabeli, z innymi danymi i hula. a na tej dupa. Jak namierzyc gdzie tkwi błąd !?!?!
cały skrypt pisałem sam, i podejrzewam że coś jest walnięte w skrypcie, tylko jak to najprościej namierzyć, CO (IMG:style_emoticons/default/exclamation.gif) przedtem stronicowanie miałem oparte o starą wersję twego stronicowania, to zechciało mi się kombinacji i pisania swego stronicowania, szlag by to trafił (IMG:style_emoticons/default/exclamation.gif) !!! |
|
|
|
Post
#18
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
to zacznijmy od podstaw: 1) Temat: Jak poprawnie zada pytanie 2) jak sie zastosujesz do pierwszego, to pokaz kod. A potem pokaz dokladnie co ci zwrocil twoj skrypt. Nie zadne przykladowe dane, tylko dokladnie. |
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 21.05.2008 Ostrzeżenie: (0%)
|
posiedzę jeszcze poszukam może dojdę, w czym problem, pewnie jakaś pierdoła, tylko od czego zacząć ...
|
|
|
|
Post
#20
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Cytat tylko od czego zacząć ... (IMG:style_emoticons/default/blinksmiley.gif) Przeciez w poprzednim poscie podalem ci dwa punkty. Od nich masz zaczac....Twoje slowa: Cytat czytanie ze zrozumieniem:
|
|
|
|
![]() ![]() |
|
Aktualny czas: 28.12.2025 - 03:06 |