programmer
С нами с 08.12.02
Сообщения: 7615
Рейтинг: 5760
|
Добавлено: 30/06/08 в 09:49 |
как составить запрос:
с подсчетом количества символов в поле TEXT
и как отсортировать записи от большего количества символов в упомянутом поле к меньшему
+8
|
|
|
|
С нами с 18.08.04
Сообщения: 6376
Рейтинг: 4430
|
Добавлено: 30/06/08 в 10:24 |
SELECT CHARACTER_LENGTH(`text`) as `len` FROM ourtexttable ORDER by `len` DESC
|
|
|
|
С нами с 01.03.06
Сообщения: 629
Рейтинг: 620
|
Добавлено: 30/06/08 в 10:26 |
примерно так
select CHAR_LENGTH(my_text_field ), other_fields...
from my table
order by 1 DESC
но к сожалению практика показала, что на больших объемах эта функция мускуля часто ошибается.... хотя может нам так не повезло
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7615
Рейтинг: 5760
|
Добавлено: 30/06/08 в 10:58 |
Heavy писал: | примерно так
select CHAR_LENGTH(my_text_field), other_fields...
from my table
order by 1 DESC
но к сожалению практика показала, что на больших объемах эта функция мускуля часто ошибается.... хотя может нам так не повезло |
ага, вроде работает, tnx
|
|
|
|
С нами с 18.08.04
Сообщения: 6376
Рейтинг: 4430
|
Добавлено: 30/06/08 в 10:59 |
Можно подумать мой вариант не работает
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7615
Рейтинг: 5760
|
Добавлено: 30/06/08 в 11:06 |
у Heavy синтаксис к моему запросу больше подошел
|
|
|
|
С нами с 11.06.03
Сообщения: 1266
Рейтинг: 950
|
Добавлено: 30/06/08 в 12:12 |
Всё правильно.
В общем случае независимо от полей таблицы
SELECT CHAR_LENGTH(`field`) , `table`.* FROM `table` ORDER BY 1 DESC
Функция CHAR_LENGTH не ошибается (если текст с языком дружит чего там ошибаться-то?). Ошибается сортировка по полю типа TEXT на больших длинах.
|
|
|
|
С нами с 01.03.06
Сообщения: 629
Рейтинг: 620
|
Добавлено: 30/06/08 в 12:23 |
Sha писал: |
Функция CHAR_LENGTH не ошибается (если текст с языком дружит чего там ошибаться-то?). |
угу, это я попутал - не с этой функцией проблема была, а с функциями копирования(подстрока и т.д) N байтов/симоволов - т.е. и с бинарной и с посимвольной. нужно было выдернуть 2К симоволов, а функция как рандом выдавала то больше, то меньше.
Sha писал: | Ошибается сортировка по полю типа TEXT на больших длинах. |
насколько помню, был какой-то параметр конфигурации указывающий по скольким начальным символам мускулю делать сортировку таких полей, что-то около 2Кб по-умолчанию.
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |