详解mysql中if函数的正确使用姿势_Mysql_脚本之家美

我们看看运行时间,统计1千万条数据大概需要6分18秒

3.NOW()取得系统日期(含时间)

遇到这样的问题,我们一般的思路就是用type分组,分别查询系统通知和投诉建议的总条数,然后用两个子查询来统计成功条数和失败条数。sql如下:

美高梅官方网站 1

如何做

美高梅官方网站 2

今天要说的是mysql数据库的IF()函数的一个实例。

美高梅官方网站 3

实现方式

美高梅官方网站 4

看着是不是比上面的子查询简洁多了,我们来看看运行时间,只有1分30秒。是不是快多了。

聚合函数是针对一组行进行处理,用在分组操作的场景。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

统计行数

那么,今天你学会了吗?

4.SUM(字段名)统计字段的和

SELECT COUNT total, m.type, SUM successtotal, SUM) failtotalFROM message mGROUP BY m.type;

第二种写法

为了今天要写的内容,运行了将近7个小时的程序,在数据库中存储了1千万条数据。——

美高梅官方网站 5

基本语法

3.CASE…THEN相当于JAVA的SWTICH语句

CREATE TABLE `message`  NOT NULL, `title` varchar DEFAULT NULL, `content` text, `send_time` datetime DEFAULT NULL, `type` int DEFAULT NULL COMMENT '1:系统通知,2:投诉建议', `status` int DEFAULT NULL COMMENT '0:待发送,1:成功,2:失败', PRIMARY KEY  ENGINE=InnoDB DEFAULT CHARSET=utf8;

MySql内置了很多函数供我们调用,以便对数据更好加工、处理。

具体要求是:分别统计系统通知和投诉建议两种消息的总条数、成功条数和失败条数。

美高梅官方网站 6

SELECT COUNT total, m.type,  FROM message ms WHERE ms.status = 1 AND m.type = ms.type) successtotal,  FROM message mf WHERE mf.status = 1 AND m.type = mf.type) failtotalFROM message mGROUP BY m.type

查询平均工资高于1000的工种

那么有没有更简单,更快的统计方式呢,当然是有的,就是我们今天主要讲的if()函数。

美高梅官方网站 7

IF,如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。就是一个简单的三目表达式。

美高梅官方网站 8

说说思路,假如我们统计成功条数,我们可以这样写if,这样如果status==1,则返回1,否则返回0。然后我们通过SUM()函数将成功条数相加即可。

5.count(字段名)方法是统计指定字段的计数

统计员工年薪(一年拿15个)

美高梅官方网站 9

以上的写法是错误的,我们应该把过滤条件放在HAVING子句中。

可大致可分为单行函数、聚合函数、控制流函数等等,今天小傅老师讲讲常用函数的用法。

美高梅官方网站 10

l单行函数

2.IF(expr1,expr2,expr3) :如果expr1是TRUE(expr1<>0且expr1<>NULL),那么IF()返回expr2,否则它返回expr3。

l聚合函数

本文由美高梅官方网站发布于数据统计,转载请注明出处:详解mysql中if函数的正确使用姿势_Mysql_脚本之家美

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。