下面的sql语句在mysql里可以查出数据,在oracle里报错:不是 GROUP BY 表达式

问题描述

select count(advicedeta0_.topic_id) as col_0_0_, base_data2_.column_name as col_1_0_, advicedeta0_1_.congressId as col_2_0_ from advice_detail advicedeta0_ inner join topic advicedeta0_1_ on advicedeta0_.topic_id=advicedeta0_1_.id, Congress congress1_, Base_data base_data2_ where advicedeta0_1_.congressId=congress1_.id and congress1_.title=base_data2_.id and advicedeta0_1_.Congress_govid=2 and advicedeta0_1_.topictype=1 group by advicedeta0_1_.congressId order by base_data2_.id 问题补充:chen_yongkai 写道

解决方案

order by 的字段需要出现在select中,所以也有在group by 字句中
解决方案二:
不是聚合函数的字段,都要group by,就是除了你的count,sum这些聚合函数生成的字段外,都要列入group by分组中,此外,oracle中group by的字段不能是你起的别名,其他的数据库好像可以是别名,此外,你order by的字段并没有出现在select中被选择出,这样就找不到这个字段
解决方案三:
刚才说错了应该错在group by 字句少了base_data2_.column_nameselect count(advicedeta0_.topic_id) as col_0_0_, base_data2_.column_name as col_1_0_, advicedeta0_1_.congressId as col_2_0_ from advice_detail advicedeta0_ inner join topic advicedeta0_1_ on advicedeta0_.topic_id=advicedeta0_1_.id, Congress congress1_, Base_data base_data2_ where advicedeta0_1_.congressId=congress1_.id and congress1_.title=base_data2_.id and advicedeta0_1_.Congress_govid=2 and advicedeta0_1_.topictype=1 group by advicedeta0_1_.congressId,base_data2_.column_name order by base_data2_.id
解决方案四:
是topic吧mysql没有

时间: 2024-09-19 01:09:32

下面的sql语句在mysql里可以查出数据,在oracle里报错:不是 GROUP BY 表达式的相关文章

着急实现-下面的SQL语句怎么解释,详细点,求大神赐教,急急急急急急!!!!!

问题描述 下面的SQL语句怎么解释,详细点,求大神赐教,急急急急急急!!!!! select convert(varchar(2),采集时间,108),count(1) from 监测执行表 (nolock) where 采集时间 > convert(varchar(10),getdate(),120) group by convert(varchar(2),采集时间,108) order by 1 解决方案 采集时间 是今天的,按小时统计数量http://www.w3school.com.cn

下面的sql 语句的编写

问题描述 下面的sql 语句的编写 题目描述 查询成交表a中的城市city的成交金额大于0的购买人数(buyer_id)和成交金额(amt) city buyer_id order_id amt a 1 1 100 a 1 2 100 b 2 3 100 b 3 4 20 c 4 5 0 解决方案 select count(distinct buyer_id), sum(amt) from 表a where amt > 0 group by city 解决方案二: select count(di

如何将下面的sql语句转换成Linq形式

问题描述 想把下面的sql语句转换成LINQ形式具体的sql语句如下:select*from(select字段,row_number()over(排序方式)asrownumfrom表名where条件)asbwhereb.rownum>起始值andb.rownum<=结束值orderby排序方式其中所有的汉字均是通过变量进行传值的不知道这个怎么转换成LINQ形式大侠们给帮帮忙写写吧! 解决方案 解决方案二:varq=(fromaindb.table1where...orderby字段descen

求高手求出下面的sql语句

问题描述 表A(id,name,regedate)表B(id,groupid)表C(id,name)求:1求出A表中每个月的注册用户,regedate格式是yyyy/mm/dd2求出A表中所有姓名相同的用户3A表中有相同名字的用户,把相同的选出来放入C表中4A表中姓名相同的id,保留注册最大时间的用户写出sql,谢谢 解决方案 解决方案二:求出是指求出有多少件吗?haveatry1selectsubstr(regedate,1,7),count(1)fromAgroupbysubstr(rege

RMAN 提示符下执行SQL语句

       在手动恢复数据库时,有时候需要在SQL*Plus提示符以及操作系统提示符,RMAN提示符下来回切换显得有些繁琐.实际上RMAN为我们提供了命令行下执行一些简单的SQL语句以及PL/SQL的方法,以避免上述情形.本文描述了RMAN提示符下的一些常用命令及其用法.   1.RMAN提示符下执行SQL语句       语法: SQL '<command>' ;           语法比较简单,就是提示符下输入SQL,后接SQL命令,命令用单引号括起来      command 通常为

请教如何把下面的sql语句转换为lin q

问题描述 现在有下面的sql语句,请教下,该如何转换为相应的linq语句,谢谢selecta.PackType,a.ProductDesc,a.ItemCode,a.SMBHKCode,a.RSP,a.EDLP,a.EDLPMultiBuy,a.EDLPMultiBuyQty,a.effectdatefromdbo.rcProductPriceMastainnerjoin(selectdistinctItemCode,max(effectdate)aseffectdatefromdbo.rcPr

sql-麻烦大家给我看下这个SQL语句出现了什么问题,谢谢!

问题描述 麻烦大家给我看下这个SQL语句出现了什么问题,谢谢! select grade,cno=2 from sc group by cno having count(grade)>=90 --25)查询选修2号课程且成绩在90分以上的所有学生. 谢谢啦.. 解决方案 select grade,cno from sc where cno = 2 and grade >= 90 解决方案二: select grade,cno from sc where cno=2 group by cno h

dedecms-织梦中标签里面的sql语句中arc是什么表?

问题描述 织梦中标签里面的sql语句中arc是什么表? 这是arclist标签中的一段. 这个arc是什么表,估计是dede_archives ,但是怎么能这样写的呢? $query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart, tp.moresite,tp.siteurl,tp.sitepath $addfields

下面的insert语句报错,请大家告知!

问题描述 下面的insert语句报错,请大家告知!说语法错误,郁闷了两天了using(OleDbConnectioncon=newOleDbConnection(DBConStr)){con.Open();stringsql="insertintosignature(username,password)values('"+userName+"','"+password+"')";using(OleDbCommandinsert=newOleDbC