mysql 零碎笔记
聚合函数的用法:
concat 连接单行记录的不同字段, group_concat 连接多行记录的相同字段, concat_ws
count 按条件统计:
SELECT COUNT(*) AS `num` GROUP BY `age` > 24 —— 可能需要建立临时表排序(没有对分组条件建立索引话),效率低
COUNT( CASE WHEN `age` >24 THEN 1 ELSE NULL END )
COUNT(if(pay_status=1, true, NULL))
SELECT COUNT(id>4 or null), COUNT(id=1 OR NULL) from test
同时作用于字段与条件
select COUNT(DISTINCT t1.questionId, t1.createTime > CURDATE() OR NULL ) newNumber FROM stu_errbook t1
group by 分组统计:
SELECT name, address, MAX(age) FROM t GROUP BY name
这段 sql 可能成功,也可能报错。当 name 字段为主键或 unique not null 键,那么它会决定确定该行,因此 address 字段也被确定(依赖于分组字段)。否则的话,address 的值是randomness的,因此会拒绝此次查询( 只当 ONLY_FULL_GROUP_BY 开启 时, mysql 5.75 默认开启)。参考
mysql 随机数:
SELECT * FROM users WHERE userId >= ((SELECT MAX(userId) FROM users)-(SELECT MIN(userId) FROM users)) * RAND() + (SELECT MIN(userId) FROM users) LIMIT 1
判断空值:
ifnull is null is not null
建立唯一索引, 并删除重复数据
alter ignore table user add unique index(user_id,user_name);
按字符串中的数字排序(默认是字典序)
方法一
SELECT
CAST(title AS UNSIGNED INTEGER) AS ORDER_FIELD
,title
ORDER BY
ORDER_FIELD ASC
方法二
SELECT * FROM table ORDER BY LENGTH(title), title
按两个字段中的较大值排序(注意空值判断时返回 null)
select IF(t1.createTime > MAX(t4.lastLearnTime) || MAX(t4.lastLearnTime) IS NULL, t1.createTime, MAX(t4.lastLearnTime)) AS orderTime
from table1 t1, table4 t4
order by orderTime
233
mysql 零碎笔记的更多相关文章
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- MySQL学习笔记一
MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...
- MYSQL基础笔记(六)- 数据类型一
数据类型(列类型) 所谓数据烈性,就是对数据进行统一的分类.从系统角度出发时为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中讲数据类型分成三大类:1.数值类型,2.字符串类型和时间日期 ...
- MYSQL基础笔记(五)- 练习作业:站点统计练习
作业:站点统计 1.将用户的访问信息记录到文件中,独占一行,记录IP地址 <?php //站点统计 header('Content-type:text/html;charset=utf-8'); ...
- MYSQL基础笔记(四)-数据基本操作
数据操作 新增数据:两种方案. 1.方案一,给全表字段插入数据,不需要指定字段列表,要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致.凡是非数值数据,到需要使用引号(建议使用单引号)包裹. i ...
- MYSQL基础笔记(三)-表操作基础
数据表的操作 表与字段是密不可分的. 新增数据表 Create table [if not exists] 表名( 字段名 数据类型, 字段名 数据类型, 字段n 数据类型 --最后一行不需要加逗号 ...
- MYSQL基础笔记(二)-SQL基本操作
SQL基本操作 基本操作:CRUD,增删改查 将SQL的基本操作根据操作对象进行分类: 1.库操作 2.表操作 3.数据操作 库操作: 对数据库的增删改查 新增数据库: 基本语法: Create da ...
- MYSQL基础笔记(一)
关系型数据库概念: 1.什么是关系型数据库? 关系型数据库:是一种建立在关系模型(数学模型)上的数据库 关系模型:一种所谓建立在关系上的模型. 关系模型包含三个方面: 1.数据结构:数据存储的问题,二 ...
- MySQL入门笔记
MySQL入门笔记 版本选择: 5.x.20 以上版本比较稳定 一.MySQL的三种安装方式: 安装MySQL的方式常见的有三种: · rpm包形式 · 通用二进制 ...
随机推荐
- 3D Slicer中文教程(七)—图像中值滤波
1.中值滤波概念 中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心象素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘 ...
- python3.5 默认安装路径 | 安装 | 删除
win7 环境下: Python3.5默认安装路径是当前用户的 AppData\.. 下 这么做的一个可能原因是 现在安装过程中默认是install just for me,这个会把python默认 ...
- 题解 P3246 【[HNOI2016]序列】
很久之前做过这道题,但是跑得贼慢,现在用了可以被卡成 n m 的笛卡尔树做法,发现跑得贼快[雾 noteskey 介绍一种复杂度错误然鹅在随机数据下跑得贼快的算法: 笛卡尔树 方法就是 \(O~ n\ ...
- Mysql的子查询相关知识,少但是精
Mysql子查询 概念分析: 根据相关性分: (1)不相关子查询:一条Sql语句中含有多条SELECT语句,先执行子查询,再执行外查询,子查询可对立运行 关键字:(1)先子查询,再外查询 (2)可以对 ...
- 绘图和可视化---matplotlib包的学习
matplotlib API函数都位于matplotlib.pyplot模块,通常引入约定为:import matplotlib.pyplot as plt 1.Figure和Subplot 图像都位 ...
- 解决百度上传WebUploader在IE浏览器下点击无反应的问题
原因1:IE浏览器不支持H5方式上传,需要使用flash的方式上传 解决方法:在页面head标签添加<meta http-equiv="X-UA-Compatible" co ...
- 出错: IOException parsing XML document from ServletContext resource [/cn.mgy.conig]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/cn.mgy.conig]
错误的详细内容: 严重: StandardWrapper.Throwable org.springframework.beans.factory.BeanDefinitionStoreExceptio ...
- Bean拷贝
相当于C#的AutoMapper public class CloneUtils { /** * 拷贝对象 * @param source * @param classType * @return * ...
- [paper reading] C-MIL: Continuation Multiple Instance Learning for Weakly Supervised Object Detection CVPR2019
MIL陷入局部最优,检测到局部,无法完整的检测到物体.将instance划分为空间相关和类别相关的子集.在这些子集中定义一系列平滑的损失近似代替原损失函数,优化这些平滑损失. C-MIL learns ...
- Ubuntu 16.04.3 LTS u盘-安裝教程(填坑)
Ubuntu 16.04.3 LTS 下载地址: https://www.ubuntu.com/download/desktop 下载u盘后文件为iso,可以选择UltraISO制作U盘启动,也可以直 ...