MYSQL получает первую ненулевую частоту с порядком по длине ASCMySql

Форум по Mysql
Ответить
Anonymous
 MYSQL получает первую ненулевую частоту с порядком по длине ASC

Сообщение Anonymous »

Примеры записей
Мне нужно получить первую запись, которая имеет ненулевой порядок частоты по длине ASC. Если нет записи ненулевой частоты, извлеките запись ASC максимальной длины.
Вот что я попробовал:

Код: Выделить всё

select word, length, frequency
from `dataset`
where `word` LIKE '%aeto%'
and `length` >= 3
ORDER BY length ASC,frequency desc;

Код: Выделить всё

select word, length, frequency
from `dataset`
where `word` LIKE '%aeto%'
and `length` >= 3
ORDER BY CASE WHEN frequency IS NULL THEN length
ELSE frequency
END
, length asc, `frequency` desc
Окончательное решение, которое я могу придумать:
  • Запустить запрос, чтобы получить запись, которая не равна нулю. частота и порядок по длине ASC. Если у нас его нет, попробуйте выполнить первый запрос и получите первый результат.
Ожидаемый результат:
В соответствии с образцом, мне нужно ФАЭТОН в качестве результата. Если я опущу ФАЭТОН и ПРЕТОРИАН (оба имеют ненулевую частоту), то в качестве результата мне понадобится ПРЕТОР
Структура таблицы и данные: https://dbfiddle.uk/32lmcKAj

Подробнее здесь: https://stackoverflow.com/questions/793 ... length-asc
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»