amixen
Новичок
MySql выборка с сортировкой по сложным словам
Приветствую знатоков!
Есть мускульная таблица:
[sql]
CREATE TABLE `test` (
`id` INT NOT NULL AUTO_INCREMENT ,
`f_key` VARCHAR( 20 ) NOT NULL ,
`f_text` TEXT NOT NULL ,
PRIMARY KEY ( `id` ) ,
FULLTEXT (
`f_key`
)
);
[/sql]
Есть такие скажем записи:
[sql]
INSERT INTO `test` VALUES (1, 'asd.qwe', 'blablabla');
INSERT INTO `test` VALUES (2, 'uioqq', 'blablabla');
INSERT INTO `test` VALUES (3, 'asd', 'blablabla');
INSERT INTO `test` VALUES (4, 'qwe.ert', 'blablabla');
INSERT INTO `test` VALUES (5, 'zxc.jkl', 'blablabla');
INSERT INTO `test` VALUES (6, 'aaaaa', 'blablabla');
[/sql]
Мне требуется выбрать данные из таблицы с сортировкой по полю `f_key`... НО что бы все строки где в этом поле встречаются точки шли вверху!
Но MATCH (f_key) AGAINST ('.') не совсем подходит... Синтаксис AGAINST не предполагает наличие символов, т.е. не предполагает наличие корней символов...
конструкция вида: [sql]ORDER BY IF (f_key LIKE '%.%', f_key, 10000000000)[/sql]
не даёт результата...
Надо както дать понять [sql]ORDER BY[/sql] что искать надо по точке.
Приветствую знатоков!
Есть мускульная таблица:
[sql]
CREATE TABLE `test` (
`id` INT NOT NULL AUTO_INCREMENT ,
`f_key` VARCHAR( 20 ) NOT NULL ,
`f_text` TEXT NOT NULL ,
PRIMARY KEY ( `id` ) ,
FULLTEXT (
`f_key`
)
);
[/sql]
Есть такие скажем записи:
[sql]
INSERT INTO `test` VALUES (1, 'asd.qwe', 'blablabla');
INSERT INTO `test` VALUES (2, 'uioqq', 'blablabla');
INSERT INTO `test` VALUES (3, 'asd', 'blablabla');
INSERT INTO `test` VALUES (4, 'qwe.ert', 'blablabla');
INSERT INTO `test` VALUES (5, 'zxc.jkl', 'blablabla');
INSERT INTO `test` VALUES (6, 'aaaaa', 'blablabla');
[/sql]
Мне требуется выбрать данные из таблицы с сортировкой по полю `f_key`... НО что бы все строки где в этом поле встречаются точки шли вверху!
Но MATCH (f_key) AGAINST ('.') не совсем подходит... Синтаксис AGAINST не предполагает наличие символов, т.е. не предполагает наличие корней символов...
конструкция вида: [sql]ORDER BY IF (f_key LIKE '%.%', f_key, 10000000000)[/sql]
не даёт результата...
Надо както дать понять [sql]ORDER BY[/sql] что искать надо по точке.