首页 > 作文

mybatis中的count()按条件查询方式

更新时间:2023-04-04 15:11:58 阅读: 评论:0

目录
mybatis count()按条件查询1、sql count()函数2、mybatis中count()按条件查询在查询时使用count(*),total为1,结果为0

mybatis count()按条件查询

1、sql count()函数

count()函数返回匹配指定条件的行数。

sql count(col我的理想大学umn_name)语法:

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

lect count(column_na欧美qq头像me) from table_name

sql count(*)语法:

count(*)函数返回表中的记装是什么结构录数。

lect count(*) from table_name

sql count(distinct column_name)语法:

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

lect 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语句:

//特定条件下指定列的数目lect count(count) as nums from table教师祝福语简短一句话_aidwhere site_id = 3//输出结果:nums值为:521//计算table_aid中总记录数lect count(*) as nums from table_aid//输出结果:nums值为:9//指定列的不同值的数目lect count(distinct site_id) as nums from table_aid//输出结果:nums值为:5

2、mybatis中count()按条件查询

任务描述:数据库其中有两个字段分别为

1、站点:station、

2、状态:status,status的取值为success或者fail。

现在需求为将记录按站点分组,且要统计出其中的status为success的数量和为f美术生集训ail的数量。

mybatis代码:

 <resultmap id="groupbaresultmap" 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))--> <lect id="lectgroupbystation" resultmap="groupbaresultmap">  lect 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 </lect>

测试结果为:

{
“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没有关系。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。

本文发布于:2023-04-04 15:11:57,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/e105198902246a7a9fec20ab778be4d6.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:mybatis中的count()按条件查询方式.doc

本文 PDF 下载地址:mybatis中的count()按条件查询方式.pdf

下一篇:返回列表
标签:函数   条件   值为   数目
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图