2015-06-01 3 views
0

мне нужно заказ по номерам с конца заголовка, но нуждаюсь в БЕЗЗНАКОВЫЙ результате, я стараюсь, чтобы получить последние 5 цифры из заголовка таблицы и сортировок, но не даю естественному результатуPHP порядок MySQL чисел справа от заголовка

заголовок таблицы

title1 (2015) 
something (1999) 
title1 (1994 
title1 (2014) 

Мой код

ORDER BY RIGHT(title,5) DESC 

Результат

something (1999) 
title1 (1994) 
title1 (2014) 
title1 (2015) 

Как я могу заказать так:

title1 (2015) 
title1 (2014) 
something (1999) 
title1 (1994) 

Теперь этот код заказа как 1,10,101,2,20,201, но мне нужно, как это 1,2,10,20,101,201

+1

'ORDER BY RIGHT (название, 5) ASC' ... – Bobot

+0

Теперь этот код заказа, как это заказ 1,10,101,2, 20,201, как это мне нужно, как это 1,2,10,20,101,201 –

+1

Вы должны хранить годы в отдельной колонке, как 'title | год', данные: 'title1 | 1994', 'что-то | 1999' и т. Д. – panther

ответ

0

Что делать, если вы попробуете это сделать. См. A DEMO HERE

select col1 from table1 
order by replace(right(col1,5), ')','') desc; 
+0

Спасибо, этот рабочий штраф –

0

Вы должны ORDER BY ASC, а не DESC.

ORDER BY RIGHT(title,5) ASC 

Узнать больше here.

+0

еще раз проверить psl –

+0

Теперь этот код аналогичный заказу 1,10,101,2,20,201 нравится Мне это нравится 1,2,10,20,101,201 –

+0

У вас есть только одна колонка в таблице? Я думаю, для вывода, что вам нравится, вам нужно изменить таблицу и добавить еще один столбец. –

1

Поскольку вы подстроки, оно преобразует данные в текст.

Вам нужно преобразовать его обратно на номер (source):

order by substring(title,-5,4)*1 desc; 
Смежные вопросы