Как получить максимальные данные, используя естественную сортировку? - PullRequest
3 голосов
/ 26 июня 2009
10.12.1 
10.12.10 
10.12.11 
10.12.12 
10.12.13 
10.12.14 
10.12.15 
10.12.16 
10.12.17 
10.12.18 
10.12.19 
10.12.2 
10.12.3 
10.12.4 
10.12.5 
10.12.6 
10.12.7 
10.12.8 
10.12.9 

Это столбец varchar. Но «10 .12.19» - это максимум данных, которые мне нужны. Как я могу получить это?

Ответы [ 2 ]

4 голосов
/ 26 июня 2009

код SQL

 ORDER BY CAST(SUBSTRING_INDEX(col,'.',-1) AS SIGNED) DESC;
0 голосов
/ 26 июня 2009

MySQL пока не имеет естественной сортировки. Это был открытый запрос с 2003 года: http://bugs.mysql.com/bug.php?id=1588

Я бы сделал это вне SQL или изменил бы значения (или добавил бы новый столбец), чтобы числа имели фиксированную ширину.

...