szymek001
23.05.2012, 08:42:44
Czy jest możliwość wyświetlenia wyników przy użyciu sortowania alfabetycznego z wstawieniem określonego rekordu na sam koniec? Mam swoje kategorie i jedna nosi nazwę 'Pozostałe', która musi być wyświetlona na końcu. Wiem, że mogę zrobić dodatkową kolumne w bazie, w której będę mógł ustawić kolejność danej kategorii, ale czy nie da się tego zrobić odpowiednim zapytaniem?
nospor
23.05.2012, 08:44:35
skowron-line
23.05.2012, 08:46:20
Da się
http://nospor.pl/mysql-faq.html#faq-5 tu masz przykład który musisz lekko rozwinąć
szymek001
23.05.2012, 09:16:33
Czyli jeśli mam np. 16 rekordów, to każdemu muszę przypisać liczbę, tak?
Chcę sortować po nazwach kategorii, niektóre są dwuwyrazowe i mają polskie litery, a to pewnie będzie problemem..?
Najprościej byłoby ustawić tak by były kolejno alfabetycznie, a ta jedna kategoria na końcu i sortować po ID, jednak to się nie spisze, gdy dodam nową kategorie.
nospor
23.05.2012, 09:42:45
Nie....zadne liczby.
Najpierw mowisz ze ma być "pozostale" pierwsze, a potem sortujesz alfabetycznie.
SELECT * FROM tabela
ORDER BY pole='Pozostałe' DESC, pole ASC
I już
Sorki, miało być na końcu więc:
SELECT * FROM tabela
ORDER BY pole<>'Pozostałe' DESC, pole ASC
szymek001
23.05.2012, 09:52:59
Ok, działa wszystko ok! Dziękuje