Мне нужно получить первую запись, которая имеет ненулевой порядок частоты по длине 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
Мобильная версия