我有一个专栏" host_name"在我的表中,使用" sto11,sto9,sto8,sto13和#34;等数据。 我需要一个像:
这样的查询SELECT * FROM hosts ORDER BY (numbers after "sto");
因此查询返回此订单的数据:sto8,sto9,sto11,sto13
有没有办法在mysql中执行此操作?
答案 0 :(得分:1)
鉴于前缀(sto)是固定的,您应该将子字符串转换为无符号,从该行条目的第4个元素开始。像这样:
SELECT hosts.*, CAST(SUBSTRING(hosts.<column with order>, 4) AS UNSIGNED) AS orderednumbers
FROM hosts
ORDER BY orderednumbers;