SQL按临时“AS”列排序

时间:2015-11-12 14:39:54

标签: sql guptateamdeveloper sqlbase centura

我想通过我实际创建的专栏

来对结果进行排序
SELECT A, B, @MID(C,2,2) as X FROM foobar ORDER BY X DESC

我知道这可以在 MySQL 中使用,但它不能在SQL(SQLBase)中工作。

有什么建议吗?

我试过了:

SELECT A, B, @MID(C,2,2) as X FROM foobar ORDER BY @MID(C,2,2) DESC

结果 Invalid Columnname 与使用 ORDER BY X

相同

1 个答案:

答案 0 :(得分:3)

您也可以按列ordinal订购。但请记住,如果查询被修改,则需要检查ORDER BY子句以确保它在正确的列上排序。这应该适合你:

SELECT A, B, @MID(C,2,2) as X 
FROM foobar 
ORDER BY 3 DESC

另一种选择是使用子查询:

SELECT A, B, X
FROM
(
    SELECT A, B, @MID(C,2,2) as X 
    FROM foobar 
) AS S
ORDER BY X DESC