我想在oracle中將GROUP BY
函數與MAX結合起來。我閱讀了大量文檔的周圍,試圖找出如何格式化我的要求由Oracle總是返回:如何在Oracle的CLOB列上使用GROUP BY?
ORA-00979:「不是一組由表達」
這裏是我的要求:
SELECT A.T_ID, B.T, MAX(A.V)
FROM bdd.LOG A, bdd.T_B B
WHERE B.T_ID = A.T_ID
GROUP BY A.T_ID
HAVING MAX(A.V) < '1.00';
任何提示?
編輯它似乎與我的領域的數據類型有一些棘手的部分。
T_ID
是VARCHAR2
A.V
是VARCHAR2
B.T
是CLOB
不要把蘋果(數字)與橘子(字符串)比較。 ''''是一個字符串,它是***不是一個數字 - ('1.00'或'1')是一個數字。 –
@a_horse_with_no_name你說得對,現在好多了:)但是我仍然得到了932錯誤,看起來像oracle預期的一些數據類型,並得到一個CLOB insteab - 這是類型的BT – Xavier
你不能做一個'在'CLOB'專欄 - 你爲什麼需要這些?如果你需要一個max(),那麼'CLOB'聽起來不像正確的數據類型。如果你將數字存儲在'LOG.V'中,那你爲什麼不把它定義爲'數字'?將數字存儲在'varchar'列中是一個非常糟糕的設計。 –