当前位置: 首页 > news >正文

mysql一些统计实用函数

文章目录

    • 一对多,多的一端只查询最新数据
    • YEAR 年份函数
    • MONTH 月份函数
    • QUARTER 季度函数
    • 往前递推十年
    • 往后递推十年
    • 查询去年12月份
    • 统计身份证户籍所在地人数

一对多,多的一端只查询最新数据

ROW_NUMBER() over(PARTITION BY evt_id ORDER BY evt_node_receipt_time DESC)node from evt_info

适用场景:

事件——我要查出当前事件的最新节点。
一个事件发起下面很多个节点处置。一对多映射只要拿到最新的节点处置。
先来查一个事件id下面的所有节点,可以看到节点太多,如果按照往常的连表查询之后数据会有超级多。
在这里插入图片描述

现在按正常的连表查询,结果144条,不是我想要的结果。应该只要事件主表的所有数据

在这里插入图片描述
事件主表的所有数据
在这里插入图片描述

查询正在进行中的事件最新处置节点下的数据

 select af.evt_id,af.evt_title,af.evt_type_name,af.nick_name as evtInitiatorName,af.evt_start_time,af.evt_node_name,af.evt_longitude,af.evt_latitudefrom (select ei.evt_id,ei.del_flag,ei.evt_status,ei.evt_start_time,ei.evt_title,ei.evt_longitude,ei.evt_latitude,et.evt_type_name,su.nick_name,en.evt_node_name,ROW_NUMBER() over(PARTITION BY en.evt_id ORDER BY en.evt_node_receipt_time DESC) node_rankfrom evt_info eileft join evt_node enon en.evt_id=ei.evt_idleft join sys_user suon ei.evt_initiator=su.user_idleft join evt_type eton ei.evt_type_id = et.evt_type_id) afWHERE af.node_rank = 1 and af.evt_status='processing' and af.del_flag=0

在这里插入图片描述

YEAR 年份函数

#查询注册时间是当年的用户
SELECT *
from sys_user
WHERE YEAR(create_time) = YEAR(NOW())

MONTH 月份函数

#统计每个月的注册人数
SELECT count(1)
from sys_user
GROUP BY MONTH(create_time)

QUARTER 季度函数

#统计每个季度的注册人数
SELECT QUARTER(create_time),count(1)
from sys_user
GROUP BY QUARTER(create_time)

往前递推十年

SELECT YEAR(DATE_SUB(NOW(), INTERVAL 10 YEAR))

往后递推十年

SELECT YEAR(DATE_ADD(NOW(), INTERVAL 10 YEAR))

查询去年12月份

#查询去年12月份
SELECT *
FROM sys_user 
WHERE YEAR(create_time)=YEAR(DATE_SUB(NOW(), INTERVAL 1 YEAR))
AND MONTH(create_time)=12

统计身份证户籍所在地人数

SELECT `name`,count(a.id_card) as `value`FROM(select t.id_card,CASE LEFT(t.id_card,2)WHEN 11 THEN '北京' WHEN 12 THEN '天津'WHEN 13 THEN '河北省' WHEN 14 THEN '山西省'WHEN 15 THEN '内蒙古自治区' WHEN 21 THEN '辽宁省'WHEN 22 THEN '吉林省' WHEN 23 THEN '黑龙江省'WHEN 31 THEN '上海' WHEN 32 THEN '江苏省'WHEN 33 THEN '浙江省' WHEN 34 THEN '安徽省'WHEN 35 THEN '福建省' WHEN 36 THEN '江西省'WHEN 37 THEN '山东省' WHEN 41 THEN '河南省'WHEN 42 THEN '湖北省' WHEN 43 THEN '湖南省'WHEN 44 THEN '广东省' WHEN 45 THEN '广西壮族自治区'WHEN 46 THEN '海南省' WHEN 50 THEN '重庆'WHEN 51 THEN '四川省'WHEN 52 THEN '贵州省'WHEN 53 THEN '云南省' WHEN 54 THEN '西藏'WHEN 61 THEN '陕西' WHEN 62 THEN '甘肃省'WHEN 63 THEN '青海' WHEN 64 THEN '宁夏回族自治区'WHEN 65 THEN '新疆维吾尔自治区' end `name`from basic_resident t WHERE t.outsider=0) as agroup by `name`
http://www.lryc.cn/news/122775.html

相关文章:

  • IC设计仿真云架构
  • 日常BUG ——乱码
  • SpringBoot复习:(44)MyBatisAutoConfiguration
  • SpringBoot校验,DTO文件中常用的注解应用案例.
  • Qt 窗口随鼠标移动效果
  • 大数据Flink(五十九):Flink on Yarn的三种部署方式介绍以及注意
  • mac-右键-用VSCode打开
  • tkinter+爬虫+pygame实现音乐播放器
  • css 实现 html 元素内文字水平垂直居中的N种方法
  • 数据结构-队列的实现(C语言版)
  • Vue.js 生命周期详解
  • 矩阵定理复习记录
  • Jenkins+Docker+SpringCloud微服务持续集成项目优化和微服务集群
  • 认识 spring 中的事务 与 事务的传播机制
  • PHP中的16个危险函数
  • 11、Nvidia显卡驱动、CUDA、cuDNN、Anaconda及Tensorflow Pytorch版本
  • 将数据库文件压缩并上传到文件服务器
  • docker — 容器网络
  • 腾讯面试题:使用Redis分布式锁可能会出现哪些问题?
  • 直接在html中引入Vue.js的cdn来实现Vue3的组合式API
  • YAPi在线接口文档简单案例(结合Vue前端Demo)
  • Java基础篇--Runtime类
  • 数字后端笔试题(1)DCG后congestion问题
  • 数据结构:交换排序
  • SpringBoot复习:(42)WebServerCustomizer的customize方法是在哪里被调用的?
  • 年至年的选择仿elementui的样式
  • 分类过程中的一种遮挡现象
  • 下一代服务架构:单体架构-->分布式架构-->微服务(DDD)-->软件定义架构(SDF with GraphEngine)
  • excel 之 VBA
  • 【数学建模】--聚类模型