![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 11.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam ponownie! W polu(varchar) o nazwie "pozycja" mam rekordy o następujących nazwach.
Kod pozycja. 1. Tytul pozycja. 3. Tytul pozycja. 13. Tytul pozycja. 25. Tytul Mam w związku z tym dwa pytania: -jak powinno wyglądać zapytanie, które zwróci rekordy z pola "pozycja" posortowane po numerach występujących w ich nazwach, -czy można to osiągnąć "doklejając" do już gotowego zapytania odpowiednio spreparowana klauzulę ORDER BY? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
A próbowałeś wyciągnać wyrażeniem regularnym te liczby w klauzli ORDER BY?
![]() -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 11.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
gdybym wiedział jak użyć wyrażeń regularnych w stylu: ORDER BY 'wyrażenie regularne' , to zapewne bym spróbował. Jak się to robi?
Ten post edytował damianos 21.03.2007, 13:20:42 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 10 Dołączył: 8.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Moim zdaniem jeżeli chcesz sortować dane z tej tabeli na podstawie pewnego podstringu to powinieneś "wyrzucić" go do osobnej kolumny.
W ten sposób nie będzie już tak drastycznie złamana pierwsza postać normalna, zapytania będą na 100% szybsze. Proponuje Ci dodać nową kolumnę, a w PHPie zrobić w pętli update tej tabli korzystając z prostego wyrażenia regularnego :
-------------------- --------------------------------------------------------------------------------
weblog.axent.pl -------------------------------------------------------------------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
A co zwykłe ORDER BY nie wystarczy?
Przecież nie ma ograniczenia jedynie do sortowania kolumn liczbowych. Ten post edytował php programmer 21.03.2007, 16:21:53 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
ale ORDER BY sortuje dane tekstowe alfabetycznie, np:
Kod 1
2 20 24 3 5 53 533 534 6 7 -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 11.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
@kicok: dokładnie tak! A ze względu na ograniczenia innego typu nie jestem w stanie ingerować w kod całego zapytania. Jedyne co mogę, to doleić na końcu "ORDER BY"
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.07.2025 - 09:46 |