在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 后面没有,则会随机取出来一个值,这样查询出来的数据不准确。