Sortowanie od 3 znaku - mysql
copied - 31-05-2006 00:25
Sortowanie od 3 znaku - mysql
Witam Szanownych Grupowiczów Chciałbym zapytać, jak posortować dane pobrane z mysql-a od 3 znaku.
przykład: $query = "select nazwa from baza where nazwa=$nazwa order by nazwa ASC"; $result = mysql_query($query);
i to mi posortuje wg alfabetu od gory do dolu.
A nazwa jest taka:
z Królewskiej Łąki 1 znak to litera 'z' 2 znak to spacja 3 znak to litera 'K' i od niej ma się rozpocząć sortowanie.
i chciałbym aby ten wpis był na K. W bazie musi być wpis: z Królewskiej Łąki nie mogę wpisać Królewskiej Łąki, ale chciałbym aby w wyswietlanych wynikach**wpis*ten*znalazł*się*na*literę*K. -- pozdrawiam, copied
Wiktor S. - 31-05-2006 00:25
> z Królewskiej Łąki > 1 znak to litera 'z' > 2 znak to spacja > 3 znak to litera 'K' i od niej ma się rozpocząć sortowanie.
> i chciałbym aby ten wpis był na K. W bazie musi być wpis: > z Królewskiej Łąki nie mogę wpisać Królewskiej Łąki, ale chciałbym > aby w wyswietlanych wynikach wpis ten znalazł się na literę K.
Może to nie rozwiązanie, ale pierwsze co przychodzi na myśl, to dodatkowe pole zawierające "Królewskiej Łąki", po którym odbywać się będzie sortowanie.
-- Azarien
copied - 31-05-2006 00:25
Wiktor S. wrote:
> Może to nie rozwiązanie, ale pierwsze co przychodzi na myśl, to dodatkowe > pole zawierające "Królewskiej Łąki", po którym odbywać się będzie > sortowanie.
Nie napisalem wszystkiego. Caly czas kombinuje jak to zrobic. Z pomoca wydawaloby sie ze przyjdzie mi substring ale zapomnialem, ze mam rowniez w tych polach po prostu zwykle nazwy, ale również dluższe przyimki.
Monarchia z Królewskiej Łąki od Siedmiu Króli spod Alpejskiej Góry itp.
i teraz już nie wiem, jak posortować te dane tak, aby przyimki nie wchodzily w zakres sortowania, ale żeby w wynikach były.
czyli po sortowaniu wyglądałoby to tak: 1. spod Alpejskiej Góry 2. z Królewskiej Łąki 3. Monarchia 4. od Siedmiu Króli -- pozdrawiam, copied
gonzak@op.pl - 31-05-2006 00:25
>czyli po sortowaniu wyglądałoby to tak: >1. spod Alpejskiej Góry >2. z Królewskiej Łąki
napisac wlasna funcke udf i podpiac pod serwer i juz, nie ma wiekszego problemu ze zrobieniem tego (gcc+www.mysql.com+ utf)
pozdr Rafal )sxat(
-- Archiwum grupy: http://niusy.onet.pl/pl.comp.bazy-danych
piwar - 31-05-2006 00:26
On 2006-05-30 08:12, copied wrote: > Witam Szanownych Grupowiczów > Chciałbym zapytać, jak posortować dane pobrane z mysql-a od 3 znaku.
A tak? select nazwa from baza order by MID(nazwa,3) ASC
pozdr. piwar.
=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 31-05-2006 00:26
Dnia Tue, 30 May 2006 09:33:57 +0200, copied <copied@wp.pl> wklepał(-a):
>Nie napisalem wszystkiego. Caly czas kombinuje jak to zrobic. >Z pomoca wydawaloby sie ze przyjdzie mi substring ale zapomnialem, ze mam >rowniez w tych polach po prostu zwykle nazwy, ale również dluższe przyimki. > >Monarchia >z Królewskiej Łąki >od Siedmiu Króli >spod Alpejskiej Góry >itp. > >i teraz już nie wiem, jak posortować te dane tak, aby przyimki nie wchodzily >w zakres sortowania, ale żeby w wynikach były. > >czyli po sortowaniu wyglądałoby to tak: >1. spod Alpejskiej Góry >2. z Królewskiej Łąki >3. Monarchia >4. od Siedmiu Króli
Zakładając, że przyimek jest jeden i nie poprzedza go spacja to:
order by substr(kolumna, instr(kolumna,' ')+1, length(kolumna))
instr - szuka pozycji pierwszej spacji, substr wycina tekst od pozycji spacji + 1 znak do końca ciągu. A odpowiednie funkcje to już sobie dopasuj do MySQL. -- Sławomir Szyszło mailto:slaszysz@poczta.onet.pl Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/ Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.platanvarne633.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|