Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie wierszy po identyfikatorze
martinstw
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 1.11.2008

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


<b>
Szanowni koledzy!

Stworzyłem tabelkę, gdzie jest pewna ilość wierszy. Problem polega na tym, że w tabelce są pola w których są nazwy np. stanowisk głównych od P1 do P7, oraz dodatkowo na stanowiskach głównych są jeszcze niekiedy stanowiska pomocnicze o oznaczeniach np.: P1.2. Przy czym P1 oznacza stanowisko gł. nr 1, P2- stan. nr 2 itd, natomiast P1.2 to stanowisko pomocnicze nr 2 na stanowisku głównym nr 1.
Nie wiem w jaki sposób można sortować tak, żeby sortowało mi w kolejności od najmniejszej wartości do największej czyli od P1 do P7, uwzględniając numerki np P1.2, P1.3 czy P6.1, P6.2 itd.

Może ktoś ma jakiś pomysł jak ten problem można rozwiązać?
</b>

Ten post edytował martinstw 4.11.2008, 19:42:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


dobrze zrozumiałeś moja propozycję - ale ona jest tylko na przypadek jeśli byś wszystko chciał trzymać w jednej kolumnie (o tym napomniałeś więc podałem propozycję w tym kierunku)... z literami nic się nie stanie, będzie dalej sortowało wg. liter które mogą się pojawić... zwróć uwagę, że tak skonstruowane zapisy sa posortowane jak wyrazy w słowniku - alfabetycznie - i wcale to że wyraz jest krótszy nie musi znaczyć że bezie on występował wcześniej....


napomniałeś też, że każdy element tego oznaczenia coś znaczy... jeśli chciałbyś szukać po tych elementach to niby są funkcje że można szukać po fragmencie słów jednak nie wiem czy to wtedy będzie wygodne - zastanów się czy warto cale oznaczenie trzymać w jednej kolumnie??

można poszczególne znaczenia trzymać osobno tak jak to miałeś na początku i posortować (przede wszystkim plusem było by to ze nie musiałbyś się trzymać sztywno długości i innych warunków jakie trzeba przestrzegać jeśli jest to jeden wyraz i chyba swobodniejsze sortowanie - a te dodatkowe kolumny aż tak nie spowolnią bazy):
  1. SELECT * FROM DATA ORDER BY kol_1,kol_2,kol_3

gdzie będzie sortowało biorąc pod uwagę przede wszystkim jako najważniejszy argument wartość kolumny 1 (kol_1) a dopiero potem (jeśli np. będą 2 takie same wartości) kolejno będzie sortowało kol_2 i jakie byś tam jeszcze nie dopisał... jeśli będzie priorytetem argument z kolumny 2 to po prostu wystarczy ją wypisać jako pierwsza z lewej po ORDER BY...

pozdro i wydaje mi się że już chyba temat zakończony (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował zegarek84 2.11.2008, 00:11:51
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: 13.10.2025 - 20:37