欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mybatis中的count()按條件查詢方式

 更新時間:2022年01月15日 11:27:54   作者:光陰不負卿  
這篇文章主要介紹了mybatis中的count()按條件查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

mybatis count()按條件查詢

1、sql count()函數(shù)

count()函數(shù)返回匹配指定條件的行數(shù)。

sql count(column_name)語法:

count(column_name)函數(shù)返回指定列的值的數(shù)目(null)不計入。

select count(column_name) from table_name

sql count(*)語法:

count(*)函數(shù)返回表中的記錄數(shù)。

select count(*) from table_name

sql count(distinct column_name)語法:

count(distinct column_name)函數(shù)返回指定列的不同值的數(shù)目。

select count(distinct column_name) from table_name

比如下面這張表:table_aid 

+-----+---------+-------+------------+
| aid | site_id | count | date ? ? ? |
+-----+---------+-------+------------+
| ? 1 | ? ? ? 1 | ? ?45 | 2016-05-10 |
| ? 2 | ? ? ? 3 | ? 100 | 2016-05-13 |
| ? 3 | ? ? ? 1 | ? 230 | 2016-05-14 |
| ? 4 | ? ? ? 2 | ? ?10 | 2016-05-14 |
| ? 5 | ? ? ? 5 | ? 205 | 2016-05-14 |
| ? 6 | ? ? ? 4 | ? ?13 | 2016-05-15 |
| ? 7 | ? ? ? 3 | ? 220 | 2016-05-15 |
| ? 8 | ? ? ? 5 | ? 545 | 2016-05-16 |
| ? 9 | ? ? ? 3 | ? 201 | 2016-05-17 |
+-----+---------+-------+------------+

執(zhí)行sql語句:

//特定條件下指定列的數(shù)目
select count(count) as nums from table_aid
where site_id = 3
//輸出結(jié)果:nums值為:521
?
//計算table_aid中總記錄數(shù)
select count(*) as nums from table_aid
//輸出結(jié)果:nums值為:9
?
//指定列的不同值的數(shù)目
select count(distinct site_id) as nums from table_aid
//輸出結(jié)果:nums值為:5

2、mybatis中count()按條件查詢

任務(wù)描述:數(shù)據(jù)庫其中有兩個字段分別為

1、站點:station、

2、狀態(tài):status,status的取值為success或者fail。

現(xiàn)在需求為將記錄按站點分組,且要統(tǒng)計出其中的status為success的數(shù)量和為fail的數(shù)量。

mybatis代碼:

 <resultMap id="GroupBaseResultMap" type="java.util.Map">
? ? <result column="station" jdbcType="VARCHAR" property="station" />
? ? <result column="successNum" jdbcType="VARCHAR" property="successNum" />
? ? <result column="totalNum" jdbcType="VARCHAR" property="totalNum"/>
? </resultMap>
? <!--任務(wù)統(tǒng)計:按站點 ? ?sum(if(type="fail",status,0))-->
? <select id="selectGroupByStation" resultMap="GroupBaseResultMap">
? ? select rfr.station, count(rfr.status='success' or null) as successNum, count(rfr.status='fail' or null) as failNum, count(1) as totalNum
? ? from rec_file_report rfr
? ? GROUP BY station
? </select>

測試結(jié)果為:

    {
        "failNum": 2,
        "totalNum": 73,
        "successNum": 71,
        "station": "admin"
    },
    {
        "failNum": 26,
        "totalNum": 521,
        "successNum": 495,
        "station": "changjiu.shao@wisdom56.com"
    }

在查詢時使用count(*),total為1,結(jié)果為0

在使用count(*)查詢時,發(fā)現(xiàn)在console打印的mybatis日志返回的total為1,但是實際情況應(yīng)該是0,返回的數(shù)據(jù)也是0

<== Total: 1

最后才發(fā)現(xiàn),在使用count(*)查詢時,返回的total并不是查詢結(jié)果,即使為0,返回的也是1,跟total沒有關(guān)系。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot+WebSocket實現(xiàn)IM及時通訊的代碼示例

    SpringBoot+WebSocket實現(xiàn)IM及時通訊的代碼示例

    項目中碰到需要及時通訊的場景,使用springboot集成websocket,即可實現(xiàn)簡單的及時通訊,本文介紹springboot如何集成websocket、IM及時通訊需要哪些模塊、開發(fā)和部署過程中遇到的問題、以及實現(xiàn)小型IM及時通訊的代碼,需要的朋友可以參考下
    2023-10-10
  • springsecurity實現(xiàn)攔截器的使用示例

    springsecurity實現(xiàn)攔截器的使用示例

    Spring Security 可以替代攔截器,同時還可以提供更加細粒度的權(quán)限控制和身份認證,本文就來介紹一下springsecurity實現(xiàn)攔截器的使用示例,感興趣的可以了解一下
    2023-10-10
  • Java使用Callable和Future創(chuàng)建線程操作示例

    Java使用Callable和Future創(chuàng)建線程操作示例

    這篇文章主要介紹了Java使用Callable和Future創(chuàng)建線程操作,結(jié)合實例形式分析了java使用Callable接口和Future類創(chuàng)建線程的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2019-09-09
  • java wagon如何打包文件到不同服務(wù)器

    java wagon如何打包文件到不同服務(wù)器

    這篇文章主要介紹了java wagon如何打包文件到不同服務(wù)器,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下
    2019-06-06
  • 啟動Spring項目詳細過程(小結(jié))

    啟動Spring項目詳細過程(小結(jié))

    這篇文章主要介紹了啟動Spring項目詳細過程(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2019-11-11
  • 詳解Java泛型中類型擦除問題的解決方法

    詳解Java泛型中類型擦除問題的解決方法

    Java泛型的實現(xiàn)是不完整的,有時會遇到一些Java泛型類型擦除的問題。本文將詳細為大家講解Java泛型中類型擦除問題的解決方法,需要的可以參考一下
    2022-05-05
  • java實戰(zhàn)小技巧之優(yōu)雅的實現(xiàn)字符串拼接

    java實戰(zhàn)小技巧之優(yōu)雅的實現(xiàn)字符串拼接

    字符串拼接是我們在Java代碼中比較經(jīng)常要做的事情,就是把多個字符串拼接到一起,這篇文章主要給大家介紹了關(guān)于java實戰(zhàn)小技巧之優(yōu)雅的實現(xiàn)字符串拼接的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • JAVA數(shù)據(jù)結(jié)構(gòu)之漢諾塔代碼實例

    JAVA數(shù)據(jù)結(jié)構(gòu)之漢諾塔代碼實例

    這篇文章主要介紹了JAVA數(shù)據(jù)結(jié)構(gòu)之漢諾塔,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2019-04-04
  • spring中BeanUtils.copyProperties的使用(深拷貝,淺拷貝)

    spring中BeanUtils.copyProperties的使用(深拷貝,淺拷貝)

    本文主要介紹了spring中BeanUtils.copyProperties的使用(深拷貝,淺拷貝),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2023-05-05
  • Java JDBC基本使用方法詳解

    Java JDBC基本使用方法詳解

    這篇文章主要介紹了Java JDBC基本使用方法,結(jié)合實例形式詳細分析了java JDBC基本原理、用法及操作注意事項,需要的朋友可以參考下
    2020-04-04

最新評論