就是这句
[code="sql"]SET @rank=0;
SELECT @rank:=@rank+1 AS rank, fruit, amount
FROM sales
ORDER BY amount DESC[/code]
我写成这样
[code="java"]String selectSql = "SET @rank=0; SELECT @rank:=@rank+1 AS rank, fruit, amount FROM sales ORDER BY amount DESC";
ResultSet = stms.executeQuery(selectSql);[/code]
但是系统报错啊
[color=red]java.sql.SQLException: 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 ';SELECT @rank:=@rank+1 AS rank, fruit, amount FROM sales ORDER BY amount DESC' at line 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2847)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1531)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1622)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2370)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2297)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1183)[/color]
分成2句来执行,set和select分开
做成VIEW试试