mysql同时查出符合条件数据与总数
生活随笔
收集整理的這篇文章主要介紹了
mysql同时查出符合条件数据与总数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SQL_CALC_FOUND_ROWS是mysql特有的保留字,與此對應使用的 函數是 FOUND_ROWS(),可以在查出數據的同時查出所有滿足條件的數據量。例如:
SELECT SQL_CALC_FOUND_ROWS * FROM url WHERE id > 7 LIMIT 2; SELECT FOUND_ROWS();java代碼實現:
Class.forName("com.mysql.cj.jdbc.Driver"); try (Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/kjj_test?characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true","root", "pwd")){Statement statement = connection.createStatement();//found data listResultSet resultSet = statement.executeQuery("SELECT SQL_CALC_FOUND_ROWS * FROM url WHERE id > 7 LIMIT 2;");while (resultSet.next()){System.out.println( resultSet.getObject(1) );}resultSet.close();statement.close();//found rowsstatement = connection.createStatement();resultSet = statement.executeQuery("SELECT FOUND_ROWS();");while (resultSet.next()){System.out.println(String.format("rows is %d", resultSet.getObject(1)) );}resultSet.close();statement.close(); }需要注意的是:這個方法有一個副作用,當使用了SQL_CALC_FOUND_ROWS以后,將不能使用查詢緩存、在特殊情況下反而或損失一些性能。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的mysql同时查出符合条件数据与总数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 对象转json,java首字母
- 下一篇: 解析性语言与编译性语言优劣对比