mysql sum聚合函数和if()函授的联合使用
今天去面试遇到一个数据库试题,首先说一下表结构如下:
表结构:mytest

表数据:mytest

要查询的结果如下:

在本题目中,需要用到sum聚合函数和if函数
sql如下:
SELECT `date`,SUM(IF(ifwin="胜",1,0)) AS 胜,SUM(IF(ifwin="负",1,0)) AS 负 FROM mytest GROUP BY `date`;
特别注意:sum函数试求和的,求出所有1的和,所以这里用sum 而不是count函数。
当然,本查询还可以使用其他方法:
SELECT mt.`date`,(SELECT COUNT(*) FROM mytest mt1 WHERE mt1.ifwin="胜" AND mt1.date=mt.date ) AS 男,
(SELECT COUNT(*) FROM mytest mt1 WHERE mt1.ifwin="胜" AND mt1.date=mt.date ) AS 女
FROM mytest mt GROUP BY mt.date;
本方法也可以查询出数据。
mysql sum聚合函数和if()函授的联合使用的更多相关文章
- MySQL sum聚合函数
		select sum(if(money > 0, money, 0)) as money from total_money 意思是如果money > 0, 将money的值累加到tot ... 
- MySQL数据库聚合函数
		+++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库聚合函数时间:2019年2月25日内容:MySQL数据库聚合函数重点:MySQL数据库聚合函 ... 
- MySQL的聚合函数
		MySQL的聚合函数 网站:https://www.runoob.com/mysql/mysql-functions.html 函数名 功能描述 count() 计数 sum() 求和 avg() 平 ... 
- mysql sum() 求和函数的用法
		查询在record表中 name=? 的 money 加起来的值使用聚和函数 sum() 求和select sum(money) from record t where t.name = ?另外:co ... 
- oracle sum()聚合函数
		原文链接:https://blog.csdn.net/cizatu5130/article/details/100291347 oracle sum()聚合函数 2016-05-13 20:08:00 ... 
- mysql之聚合函数、group by、having
		sql中提供聚合函数可以用来统计,求和,求最值等 那么聚合函数有哪些呢? COUNT 统计行数量 SUM 求某一列的和 AVG 求某一列的平均值 MAX 求某 ... 
- Mybatis-Plus中使用max、sum聚合函数、只查询指定字段、查询语句多个OR处理
		聚合函数查询 可以使用以下方法 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select(" I ... 
- mysql 从聚合函数group by到sql_mode
		说到group by, 想必大家都不陌生, 就是对查询的数据进行分组,我们可以通过该操作实现一些特殊需求,比如去重. 最近在项目中使用HQL:" from TSjrz where CBh = ... 
- MySQL常用聚合函数
		官方文档:Aggregate (GROUP BY) Functions Name Description AVG() Return the average value of the argument ... 
随机推荐
- CF1136D Nastya Is Buying Lunch
			思路: 1. 最终答案不超过能与Nastya“直接交换”的人数. 2. 对于排在j前面的i,如果i和i-j之间(包括j)的每个人都能“直接交换”,j才能前进一步. 实现: #include <b ... 
- UML中类图(Class Diagram)的关系整理
			什么是UML类图? 类图显示了一组类.接口.协作以及他们之间的关系.在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统.类加上他们之间的关系就构成了类图,类图中还可以包 ... 
- spark dataframe函数编程
			DataFrame 的函数 Action 操作 1. collect() ,返回值是一个数组,返回dataframe集合所有的行 2. collectAsList() 返回值是一个Java类型的数组, ... 
- [OS] 可执行文件的装载
			http://www.jianshu.com/p/e1300e7a4c48 1. 虚拟内存 在早期的计算机中,程序是直接运行在物理内存上的,程序在运行时访问的地址就是物理地址.可是,当计算机中同时运行 ... 
- 2018.2.2   JavaScript中的封装
			JavaScript中的封装 1.封装的概念 通过将一个方法或者属性声明为私用的,可以让对象的实现细节对其他对象保密以降低对象之间的耦合程度,可以保持数据的完整性并对其修改方式加以约束,这样可以使代码 ... 
- GBDT回归的原理及Python实现
			一.原理篇 1.1 温故知新回归树是GBDT的基础,之前的一篇文章曾经讲过回归树的原理和实现.链接如下: 回归树的原理及Python实现 1.2 预测年龄仍然以预测同事年龄来举例,从<回归树&g ... 
- python读取excel中的数据
			import numpy as np import matplotlib.pyplot as plt import pandas as pd #df = pd.read_excel('/Users/N ... 
- Linux学习记录(二)
			1.远程连接工具的使用 实际开发中,Linux服务器都在其他的地方,我们要通过远程的方式去连接Linux并操作它,Linux远程的操作工具有很多,企业中常用的有Puttty.secureCRT.SSH ... 
- React后台管理系统-首页Home组件
			1.Home组件要显示用户总数.商品总数和订单总数,数据请求后端的 /manage/statistic/base_count.do接口,返回的是 this.state = { u ... 
- 前端-带header和footer的双栏布局
			目标是实现如上图带header和footer的双栏布局,其中右侧sidebar是固定宽度,左侧content是自适应: https://www.zybuluo.com/dengzhirong/note ... 
