oracle group by 和mysql group by 區別

在mysql中,要查出一個表的C_NAME不重複的記錄的所有字段,使用distinct肯定不行了(會distinct所有字段),這時可以使用group by C_NAME,例如:select c_id,c_name,c_address from t_user group by c_name;執行這個語句沒有問題。

但是,在oracle中,就會出現“ORA-00979 不是group by表達式”的錯誤。在oracle中規定,使用group by時,select後面所有不是聚合函數的字段,都必須出現在group by後面。


oracle group by 和mysql group by 區別
     oracle 對於group by 是嚴格的,所有要select出來的所有字段必須在group by後邊出現,否則會報“ORA-00979 不是group by表達式”
     mysql 則不同。如果select出來的字段在group by 後面沒有,則會隨機取出來一個值,這樣查詢出來的數據不準確。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章