Mysql函数
时间:2020-09-16
本文章向大家介绍Mysql函数,主要包括Mysql函数使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一,列表分组之后查询所有组内某一个时间字段最大的数据
ContractEndDate :某一个时间字段
RECORDID:表ID
SELECT A.* from (select * from (SELECT * FROM hrm_contract order by ContractEndDate DESC limit 10000) a GROUP BY a.A00) B
left join hrm_contract A on a.RECORDID=b.RECORDID
二,多级菜单表根据parent_id查询包括父节点在内的所有子节点id
SELECT * FROM (
SELECT t1.id,IF(FIND_IN_SET(t1.parent_id,@pids)>0,@pids:=CONCAT(@pids,',',id),0) as ischild FROM (
SELECT * FROM menu ORDER BY parent_id
) t1,(SELECT @pids:=1) t2
UNION
SELECT dd.id ,dd.id as ischild FROM menu as dd WHERE dd.id=1
) cc WHERE cc.ischild <> 0
三,多级菜单表根据子节点id查询包括子节点在内的所有父节点parent_id
表结构
查询sql
SELECT T2.id
FROM (
SELECT
@r AS _id,
(SELECT @r := parent_id FROM user WHERE id = _id) AS parent_id,
@l := @l + 1 AS lvl
FROM
(SELECT @r := 7, @l := 0) vars, -- 查询id为5的所有上级
user h
WHERE @r <> 0) T1
JOIN user T2
ON T1._id = T2.id
ORDER BY T1.lvl DESC
查询结果
四,group by 对多个字段进行分组
group by 字段一:将所有具有相同字段一的记录放到一个分组里
group by 字段一,字段二 :将所有具有相同字段一和字段二的记录放到一个分组里
五,Case When和聚合函数count、sum的使用
根据贫困标志,取出不同标准下的的人数有多少,以区县位单位。
1代表已脱贫人口;2代表返贫人口;3代表未脱贫
select
t3.region_id as 'regionId',
t3.region_name as 'regionName',
count(case when t1.tricolor = 1 then 1 else null end ) as 'greenTotal',
count(case when t1.tricolor = 2 then 1 else null end ) as 'yellowTotal',
count(case when t1.tricolor = 3 then 1 else null end )as 'redTotal'
from pa_household_member t1
left join pa_household t2 on t2.household_id = t1.household_id
left join system_region t3 on t3.region_id = t2.area
group by t2.area
count(1) 算上一条记录 count(null)为0;利用此特性进行分类统计。不用写复杂的子查询。count在套住case when ..... 例如: count (case when ....end )
原文地址:https://www.cnblogs.com/fantongxue/p/13680068.html
- 浅谈Scala在大数据处理方面的优势
- 利用mybatis-generator自动生成代码
- 微信年终放大招!小程序再次升级,这个功能超想要!
- WordPress 中禁止文章自动保存和修订版本的方法
- 第一届机器人学习大会总结
- Hadoop: MapReduce2的几个基本示例
- 使用 nRoute 框架来实现基于 Silverlight 的桌面应用
- oracle:如何用sql生成日历
- 极品双拼“马仔”mazai.com易主终端
- Hadoop:pig 安装及入门示例
- 区块链时代即将到来 它将如何改变我们的工作和生活
- 架设ftp反向代理服务器
- CentOS 7 上面安装PowerShell
- 苹果刻意降低旧 iPhone 效能的做法,或在法国面临刑事检控
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解