这个Oracle语句转成 mysql语句怎么写 ,我每次运行都有错误

问题描述

这个Oracle语句转成 mysql语句怎么写 ,我每次运行都有错误 2C
select * from (select rownum rng.*c.name cname from shop_goods gshop_category c where g.categoryid=c.id

and g.categoryid=#{categoryid}

and g.name like #{name}

) r
where r.rn between (#{page}-1)*#{pageSize} and #{page}*#{pageSize}

解决方案

将里面的rownum去掉,里面的查询使用limit,不需要外面的嵌套就行了

 select g.*c.name cname from shop_goods gshop_category c where g.categoryid=c.idand g.categoryid=#{categoryid} and g.name like #{name} limit  indexpagesize

解决方案二:
Oracle语句和mysql语句基本上是相同的不同的是它们使用的关键字有些不同的关键字不同用法就不同了。你只要比较一下就知道怎么改了。

解决方案三:
参照以下方式改

select g.*c.name cname from shop_goods gshop_category c where g.categoryid=c.id and g.categoryid=#{categoryid} limit (#{page}-1)*#{pageSize}+1 #{pageSize}

--如果要显示伪列rn序号MySQL要这样用
SET @rowindex=0;
SELECT SQL_CALC_FOUND_ROWS @rowindex:=@rowindex+1 AS rng.*c.name cname from shop_goods gshop_category c where g.categoryid=c.id and g.categoryid=#{categoryid} limit (#{page}-1)*#{pageSize}+1 #{pageSize}

解决方案四:
eg:
select Sname
from Student
where Sno IN
(select Sno
from SC
where Cno='2'); ——括号里为内层查询

OR

select Student.SnoSname
from StudentSCCourse
where Student.Sno=SC.Sno AND
SC.Cno=Course.Cno AND
Course.Course='计算机';
两种方式都可使用

时间: 2024-11-03 12:32:29

这个Oracle语句转成 mysql语句怎么写 ,我每次运行都有错误的相关文章

select-asp 文件转换php实现,主要是SQLSERVER里的存储过程转换成mysql语句写不出来!

问题描述 asp 文件转换php实现,主要是SQLSERVER里的存储过程转换成mysql语句写不出来! =================存储过程======================= ALTER PROCEDURE [dbo].[CreatUser] -- Add the parameters for the stored procedure here @Username varchar(50), @userPassword varchar(50), @QQID varchar(11

关于SQL语句转换成linq语句

问题描述 关于SQL语句转换成linq语句 SELECT * FROM dbo.[USER] u, (SELECT ua.User_Attention_Object_Id FROM dbo.User_Attention ua,dbo.[USER] u WHERE u.User_Id=ua.User_Attention_User_Id AND ua.User_Attention_User_Id=3) uaid WHERE u.User_Id=uaid.User_Attention_Object_I

vb6.0-VB6语句改成C#该怎么写

问题描述 VB6语句改成C#该怎么写 Dim dFile() As Byte dFile = iRs.Fields("FData").Value'二进制数据库字段 Dim smFile As ADODB.Stream Set smFile = New ADODB.Stream smFile.Type = adTypeBinary smFile.Open smFile.Write dFile smFile.SaveToFile App.Path & "Tb.dat&qu

hibernate-原始sql语句转换成jpql语句

问题描述 原始sql语句转换成jpql语句 如题,现在有一个sql语句: SELECT c.* FROM fs_gulib a, fs_star c,(SELECT t2.id,COUNT(*) FROM fs_gulib_member t1 LEFT JOIN fs_gulib t2 ON t1.gulib = t2.id GROUP BY t1.gulib ORDER BY COUNT(*) DESC) n WHERE a.id=c.gulib_id AND a.id=n.id; 如何转成j

把多表联查的sql语句转换成linq语句

问题描述 把多表联查的sql语句转换成linq语句 SELECT * FROM [group_product] where proid in(select proid from [group_browsehistory] where memid in(select memid from [group_browsehistory] where proid=12)) 在线等,这个sql语句怎么转换成linq??? 解决方案 from x in group_product where group_br

存储过程的转换-将Oracle函数转成mysql的函数,只要语义通过就行,谢谢大家

问题描述 将Oracle函数转成mysql的函数,只要语义通过就行,谢谢大家 FUNCTION createRotationStatement(p_project IN varchar2 DEFAULT NULL, p_whse IN varchar2 DEFAULT NULL, p_ower IN varchar2 DEFAULT NULL, p_outbkey IN varchar2 DEFAULT NULL, p_rowno IN varchar2 DEFAULT NULL ) RETUR

spring配置ibatis oracle数据库改成mysql数据库遇到数据库方言问题

问题描述 spring配置ibatisoracle数据库改成mysql数据库遇到数据库方言问题<!--spring配置ibatis--><beanid="sqlMapClient"class="org.framework.ibatis.spring.SqlMapClientFactoryBean"><!--Mysql,Sqlserver通用ibatis配置文件-->propertyname="configLocation

mac eclipse-mac下安装eclipse后每次运行都在下载文件夹生成一个0字节的文件

问题描述 mac下安装eclipse后每次运行都在下载文件夹生成一个0字节的文件 每运行一次后就生成一个名字叫eclipse.app的0字节文件,删除后运行eclipse后会在生成,如果没有删除这个文件就不会再读生成,卸载删除eclipse,重新安装,问题依然存在,同样的问题在国外的论坛上也有,只是没有解决,不知道有没有大神能解决?我观察了一下删除文件后重新运行eclipse,当程序右下角显示setup check后产生该文件,我在电脑上第一次运行eclipse是在下载文件夹 解决方案 看看是不

oracle百分比查询怎么改写成mysql语句?

问题描述 select nir.inqtitleid,nii.itemcontent ,count(*) counts,round(RATIO_TO_REPORT(count(*)) over()*100,2)||'%' as percentfrom news_inquiry_result nir,news_inquiry_item nii where nir.inqitemid=nii.id and nii.isdelete=1 and nir.inqtitleid=1GROUP BY nir