91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mybatis中的count()按條件查詢的方法是什么

發布時間:2022-01-15 16:07:40 來源:億速云 閱讀:372 作者:iii 欄目:開發技術

這篇文章主要介紹“mybatis中的count()按條件查詢的方法是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“mybatis中的count()按條件查詢的方法是什么”文章能幫助大家解決問題。

    mybatis count()按條件查詢

    1、sql count()函數

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

    sql count(column_name)語法:

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

    select count(column_name) from table_name

    sql count(*)語法:

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

    select count(*) from table_name

    sql count(distinct column_name)語法:

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

    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 |
    +-----+---------+-------+------------+

    執行sql語句:

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

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

    任務描述:數據庫其中有兩個字段分別為

    1、站點:station、

    2、狀態:status,status的取值為success或者fail。

    現在需求為將記錄按站點分組,且要統計出其中的status為success的數量和為fail的數量。

    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>
      <!--任務統計:按站點    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>

    測試結果為:

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

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

    在使用count(*)查詢時,發現在console打印的mybatis日志返回的total為1,但是實際情況應該是0,返回的數據也是0

    <== Total: 1

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

    關于“mybatis中的count()按條件查詢的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    英山县| 玛沁县| 乐安县| 吉安市| 新和县| 丹寨县| 错那县| 繁峙县| 玉溪市| 嘉兴市| 湄潭县| 万源市| 文山县| 太保市| 墨竹工卡县| 崇礼县| 永仁县| 木兰县| 华阴市| 文安县| 株洲市| 平谷区| 叙永县| 乌兰县| 航空| 芜湖县| 田林县| 民乐县| 城步| 甘南县| 南和县| 枣强县| 黑山县| 芦溪县| 罗山县| 水富县| 柘城县| 竹溪县| 溧阳市| 裕民县| 汤阴县|