SQL嵌套查询语句的报错问题?报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

SQL嵌套查询语句的报错问题?报错

2020-06-09 14:43:00 694 1

String sql = "select * from msgInfo where ID in(select top 15 ID from msgInfo where chatRoom=? Order by chatTime DESC) order by chatTime";
  String userName=session.getAttribute("_USER").toString();
  PreparedStatement ps = conn.preparedStatement(sql);
  ps.setString(1,session.getAttribute("_CHAT_ROOM").toString());

  ResultSet rs = conn.executeQuery();

这语句有问题吗,怎么老报错,没道理啊

ou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '15 ID from msgInfo where chatRoom='dragon inn' Order by chatTime DESC) order by ' at line 1
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '15 ID from msgInfo where chatRoom='dragon inn' Order by chatTime DESC) order by ' at line 1

取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-09 14:43:16

    我试到了正确的答案 SELECT*FROMmsginfoWHEREIDIN(SELECTIDFROMmsginfoWHEREchatRoom='dragoninn'ORDERBYchattimeDESC )ORDERBYchattimeLIMIT15;

    谢谢你们第一次到网上问问题

    报错很明显了,15IDfrommsgInfowherechatRoom='dragoninn'OrderbychatTimeDESC)orderby'atline1

    可能是你用的数据库不支持top

    你换成这样应该可以成功select*frommsgInfowhereIDin(selectIDfrommsgInfowherechatRoom=?OrderbychatTimeDESClimit15)orderbychatTime

    即将top15换成在尾部添加limit15

    回复 @助哥的后花园:我公司的时间一般设置成14位的字符串,如:"20160510152300",这种是可以排序的,我不确定datetime类型是否可以排序,你可以去掉排序,然后试下。回复 @求是科技:我上了图片,是不是datatime不能排序..纯sql报错不?抛开传参,你将这段SQL放到sql客户端里面执行,看是否报错,然后根据报错信息拍错limit不支持,TOP支持可是都报错 试试这个select*frommsgInfowhereIDin(selectIDfrommsgInfowherechatRoom=?OrderbychatTimeDESC top15)orderbychatTime

    这样写试试看:

    select类别,sum(数量)as数量之和,摘要

    fromA

    groupby类别,摘要

    orderby类别desc

    如果仍报错请参考资料: http://edu.51cto.com/course/course_id-1107.html

    0 0
相关问答

1

回答

HiveQL和SQL语句之间有什么不同的嘛?

2022-11-07 00:03:51 67浏览量 回答数 1

0

回答

请问,flink sql 方式可以同步修改DDL语句吗?

2022-11-05 21:46:33 62浏览量 回答数 0

0

回答

对ODPS查询结果进行取反,如何编写sql语句

2022-11-04 12:10:50 45浏览量 回答数 0

1

回答

storm&spark2中spark SQL语句查询的对象是谁呀?

2022-11-02 14:07:52 78浏览量 回答数 1

1

回答

我从SPACE-T模型中得到sql语句之后,怎么拿到执行结果?

2022-10-31 10:58:30 65浏览量 回答数 1

1

回答

这里DMS支持定时执行SQL语句吗?

2022-10-18 23:00:39 127浏览量 回答数 1

1

回答

DMS支持定时执行SQL语句吗?

2022-10-18 23:03:21 147浏览量 回答数 1

1

回答

看他这个log view中执行的sql语句,这个参数是能识别到的,但是减二被识别成了“-2”这个字符

2022-10-17 01:15:44 81浏览量 回答数 1

1

回答

Database中是先获取连接还是先执行sql语句呢?

2022-10-14 22:59:16 70浏览量 回答数 1

1

回答

若SQL 语句有缓存的计划,则根据用户选择的不同执行计划管理策略来执行,其执行逻辑是怎么样的?

2022-09-21 15:43:12 79浏览量 回答数 1
+关注
爱吃鱼的程序员
https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
文章
问答
问答排行榜
最热
最新
相关电子书
更多
SQL Server 2017
立即下载
SQL Sever迁移PG经验
立即下载
MaxCompute SQL计算成本调优以及优化方法
立即下载