Oracle和MySQL分组查询GROUP BY 真题1.Oracle和MySQL中的分组(GROUP BY)有什么区别? 答案:Oracle对于GROUP BY是严格的,所有要SELECT出来的字段必须在GROUP BY后边出现,否则会报错:“ORA-00979: not a GROUP BY expression”.而MySQL则不同,如果SELECT出来的字段在GROUP BY后面没有出现,那么会随机取出一个值,而这样查询出来的数据不准确,语义也不明确.所以,作者建议在写SQL语句的时候,
由于Mysql自动开启了 only_full_group_by,所以若查询的字段不在group by里面,则分组报错. 解决办法其一:mysql配置,关闭only_full_group_by,这种办法自行百度 下面说第二种办法: 除去group_by 以外的参数加上any_value(*) 如:SELECT type_id,any_value(`name`) FROM ts_product GROUP BY type_id; Mysql 分组查询出现'this is incompatible
这几天在做购物车的时候.购物车内的商品为一个商品占一行,结果再从数据库读出的时候,没有分组,而是循环所有的内容出来,然后进行判断.如果一样的话就把他保存到一个变量中.但是自己逻辑没搞清楚.一直出bug. 偶然间想起了 sql语句中分组查询.突然才明白 就是进行分组查询.按照店铺分组 然后里边的详细商品用 group_concat函数进行组合 select 店铺ID,group_concat(shangPinID) shangPinIDs from 购物车 group by 店铺ID 其中 sh