如何在SQL中对同一个字段不同值进行数据统计

  介绍

本篇文章为大家展示了如何在SQL中对同一个字段不同值进行数据统计,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

<强>应用场景:需要根据印章的不同状态,统计不同状态下印章数量。

选择b。corporateOrgName b。corporateOrgGuid companyId,
  数(公元前情况。ftype不在(1、2),那么其他1 0结束),
  数(公元前情况。ftype(3、4、5),那么1 0结束)usetotal,
  数(公元前情况。其他ftype=6 1 0) saveTotal结束,
  数(公元前情况。其他ftype=7 1 0) returnTotal结束
  从公元前B_seal_cycle
  加入B_seal b
  在公元前。sealId=b.id
  在b。corporateOrgName像& # 39;% % & # 39;
  集团由b.corporateOrgName b。corporateOrgGuid 

逻辑上通了,可就是怎么都得不到理想的接口,这样写统计的每一个数据都一样呀。改变之后的正确写法

选择b。corporateOrgName b。corporateOrgGuid companyId,
  数(公元前情况。ftype不在(1、2),那么1结束),
  数(公元前情况。ftype(3、4、5),那么1)usetotal结束,
  数(公元前情况。ftype=6 1) saveTotal结束,
  数(公元前情况。ftype=7) returnTotal 1结束
  从公元前B_seal_cycle
  加入B_seal b
  在公元前。sealId=b.id
  在b。corporateOrgName像& # 39;% % & # 39;
  集团由b.corporateOrgName b。corporateOrgGuid 

你看出不同之处了嘛?把其他0去掉就得到了正确的结果。

<强>遇到的问题

1,对案件时语法,解读有误。

加了其他之后,总会对结果取1或0。

2,统计函数都会对不管1或0进行统计。

3,当加了其他0之后,可以通过总和函数进行统计。

<强>也可以这样写

选择b。corporateOrgName b。corporateOrgGuid companyId,
  (公元前情况。ftype不在(1、2),那么其他1 0结束),
  (公元前情况。ftype(3、4、5),那么1 0结束)usetotal,
  (公元前情况。其他ftype=6 1 0) saveTotal结束,
  (公元前情况。其他ftype=7 1 0) returnTotal结束
  从公元前B_seal_cycle
  加入B_seal b
  在公元前。sealId=b.id
  在b。corporateOrgName像& # 39;% % & # 39;
  集团由b.corporateOrgName b。corporateOrgGuid 

有问题,或者有更好的写法,感谢留言指出。

<强> SQL语言中执行语句DESC与描述有什么区别?

描述表用于列出指定表或视图中的所有列。

描述索引对表用于列出指定表的所有索引,

所以描述是用来显示数据结构信息的;

而DESC是下降,是用于查询出结果时候对结果进行排序,是降序排序。

描述是显示列的缩写。

描述提供有关一个表的列信息.col_name可以是一个列名或是一个包含SQL通配符字符“%”和“_”的字符串。没有必要用引号包围字符串。

<强>一、描述命令用于查看特定表的详细设计信息

例如为了查看留言板表的设计信息,可用:

描述留言板描述ol_user userid

<强>二,可通过“显示comnus”来查看数据库中表的列名

有两种使用方式:

显示列形式表名的数据库名

或者:

显示列数据库名。表名

<强>三,用描述命令查询具体列的信息

描述留言板id就是查询留言板中id字段的列信息

{描述|
  DESC
  }tbl_name [col_name |野生)

描述是显示列的缩写。

描述提供有关一个表的列信息.col_name可以是一个列名或是一个包含SQL通配符字符“%”和“_”的字符串。没有必要用引号包围字符串。

mysql>   desc   ol_user用户名\ G

<强>四,判断字段是否存在

mysql_connect (   & # 39;localhost # 39;   ,   & # 39;根# 39;   ,   & # 39;根# 39;   );      mysql_select_db (   & # 39;演示# 39;   );   $测试=mysql_query (   & # 39;描述cdb_posts第一# 39;   );   测试(测试=mysql_fetch_array美元);

测试[0]美元返回的是该字段的名称,比如我要查询第一字段,返回的就是第一个

如果此字段不存在返回的就是NULL,通过这样可以判断一个字段是否存在

上述内容就是如何在SQL中对同一个字段不同值进行数据统计,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

如何在SQL中对同一个字段不同值进行数据统计