我想基於sybase中列的絕對值對記錄進行排序。有人能讓我知道該怎麼做嗎?我在下面的查詢嘗試,但它會引發錯誤。如何按sybase中列的絕對值進行排序?
SELECT * FROM table_name ORDER BY ABS(COL_A)
更新:表名失蹤查詢。添加它。
我想基於sybase中列的絕對值對記錄進行排序。有人能讓我知道該怎麼做嗎?我在下面的查詢嘗試,但它會引發錯誤。如何按sybase中列的絕對值進行排序?
SELECT * FROM table_name ORDER BY ABS(COL_A)
更新:表名失蹤查詢。添加它。
試試這個:
SELECT *
FROM table
ORDER BY ABS(COL_A)
'COL_A'如何不能在'select'列表中使用'select *'? – 2014-09-29 16:33:32
@GordonLinoff你的權利,它不應該。我認爲這可能是一個奇怪的Sybase事情,但它不是。也許他只是缺少表名。在Sybase的文檔中「如果查詢的order by或group by子句包含不在select列表中的列,Adaptive Server會將這些列作爲隱藏列添加到正在處理的列中。order by或group by子句中列出的列是包括在不同行的測試中,要符合ANSI標準,請在選擇列表中包括按列或按列排序。「 – Arun 2014-09-29 16:41:11
我正在執行命令的列是varchar類型。但它實際上只包含數值。它會繼續工作嗎?我想這是問題所在。 – chidori 2014-09-29 16:43:20
你什麼錯誤? – Arun 2014-09-29 16:30:16
必須先選擇絕對值,然後才能按它進行排序。另外,您的查詢沒有表名。 – 2014-09-29 16:30:47
唯一真正缺少的是您正在選擇的TABLE名稱。 – DRapp 2014-09-29 16:34:54