我有一个只有一列的MySQL表。该表中有超过1600万行。该表包含所有用括号括起来的RGB颜色值。例如, (100,155,255)。但是,它们未分类。如何排序,使第一行为(0,0,0),第二行为(0,0,1)等,最后一行为(255,255,255)?我尝试了ORDER BY CAST,但似乎不起作用。
答案 0 :(得分:0)
您可以尝试对子字符串使用强制转换
SELECT your_column
from your_table
order by CAST(replace( SUBSTRING_INDEX(SUBSTRING_INDEX( your_column, ',', 1), ',', -1) , '(','') AS UNSIGNED)
, CAST(SUBSTRING_INDEX(SUBSTRING_INDEX( your_column, ',', 2), ',', -1) AS UNSIGNED)
, CAST(replace(SUBSTRING_INDEX(SUBSTRING_INDEX( your_column, ',', 3), ',', -1), ')','') AS UNSIGNED)