сортиране на резултати първо по кирилица после по латиница

embaka

Registered
Здравейте,

нека да отговарят само тези които знаят за какво става въпрос без празни приказки или налучквания.

Трябва ми сортиране, като се подреждат първо резултати с имена на кирилица после на латиница, а не както е стандартното от латиница към кирилица

без значение дали е ASC или DESC, първо да са кирилските

PHP:
 ORDER BY t1.`name` COLLATE utf8_general_ci ASC
 
Radko каза:
PHP:
ORDER BY t1.`name` COLLATE utf8_general_ci DESC


горното беше пример, без значение дали е ASC или DESC да сортира по кирилски и латински а не по латински и кирилски
 
Пробва ли преди query-то с което извличаш информацията да сложеш едно query("SET NAMES cp1251"); ?
 
Аз пък да ти кажа, че това
[sql]SELECT * FROM `table` ORDER BY `text` COLLATE utf8_general_ci DESC[/sql]

при мен си работи перфектно. Показва ми първо имената на кирилица :)
 
Karcho каза:
Аз пък да ти кажа, че това
[sql]SELECT * FROM `table` ORDER BY `text` COLLATE utf8_general_ci DESC[/sql]

при мен си работи перфектно. Показва ми първо имената на кирилица :)

верно ли работи, я го пробвай тогава без COLLATE utf8_general_ci, не ми трябва да го сортира по ASC или DESC, не стана ли ясно или да обяснявам още. Явно това, което ми трябва го има в oracle
 
embaka каза:
Karcho каза:
Аз пък да ти кажа, че това
[sql]SELECT * FROM `table` ORDER BY `text` COLLATE utf8_general_ci DESC[/sql]

при мен си работи перфектно. Показва ми първо имената на кирилица :)

верно ли работи, я го пробвай тогава без COLLATE utf8_general_ci, не ми трябва да го сортира по ASC или DESC, не стана ли ясно или да обяснявам още. Явно това, което ми трябва го има в oracle

Тагова не ми стана ясно какво искаш? :) Не искаш ли първо да подреди имената по кирилица и после латиница? Това което си дал при мен работи без проблем и с "COLLATE utf8_general_ci ", и без него :)
//
 
трябва да сортира винаги по кирилица без значение дали е ASC или DESC, горното беше пример
 
И при мен заявката работи, без проблем,

Пробвай тази по долу

SELECT * FROM `table` GROUP BY `text` COLLATE utf8_general_ci DESC
 
според мен това привлече като магнит всички по-горе:
embaka каза:
Здравейте,
нека да отговарят само тези които знаят за какво става въпрос без празни приказки или налучквания.

Ето и решението за mysql:
[sql]ORDER BY ascii(substring(t1.`name`,1,1))<126, t1.`name` COLLATE utf8_general_ci ASC[/sql]
 
palex каза:
според мен това привлече като магнит всички по-горе:
embaka каза:
Здравейте,
нека да отговарят само тези които знаят за какво става въпрос без празни приказки или налучквания.
He, просто не беше написал последното си изречение и съм се подвел. Извинявам се.
 

Back
Горе