У меня были некоторые неожиданные результаты с запросом MySQL. Я хочу естественно заказать заголовок моих сообщений (я запускаю WordPress, но я не думаю, что это связано).MySQL буквенно-цифровая колонка MySQL
Вот пример какого-то происходящего название, чтобы дать представление:
1-1-1a
1-13-5j
7-1
9-1-2
12-13-2a
Я довольно много исследований и ближе всего к результату я хотел я получил с помощью
ORDER BY (posts.post_title+0) ASC
Я до сих пор получая странный результат на одной странице результатов. Полный запрос выглядит следующим образом.
SELECT rlt13_posts.post_title
FROM rlt13_posts
INNER JOIN rlt13_term_relationships ON (rlt13_posts.ID = rlt13_term_relationships.object_id)
INNER JOIN rlt13_postmeta ON (rlt13_posts.ID = rlt13_postmeta.post_id)
JOIN rlt13_icl_translations t ON rlt13_posts.ID = t.element_id
AND t.element_type IN ('post_rlt_rule')
JOIN rlt13_icl_languages l ON t.language_code=l.code
AND l.active=1
WHERE 1=1
AND (rlt13_term_relationships.term_taxonomy_id IN (92,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,501))
AND rlt13_posts.post_type = 'rlt_rule'
AND (rlt13_posts.post_status = 'publish')
AND ((rlt13_postmeta.meta_key = 'new_rule'
AND CAST(rlt13_postmeta.meta_value AS CHAR) = ''))
AND t.language_code='en'
GROUP BY rlt13_posts.ID
ORDER BY (rlt13_posts.post_title+0) ASC
И этот запрос дает следующий результат после выполнения (результаты вне диапазона расположены аккуратно).
два последних результатов своего рода озадачивает меня. Запрос дает ожидаемые результаты на любой другой странице. Я заметил, что когда я удалил следующий запрос из запроса, 2 неожиданных результата в нижней части предыдущего запроса будут отображаться в естественном порядке.
Любая помощь в получении этой сортировки (буквально) оценивается!
AND (rlt13_term_relationships.term_taxonomy_id IN (92, ****))
Спасибо большое! Я никогда не знал о функции SUBSTRING_INDEX. Я смог решить мою проблему. – GMBrian