首页 > 数据库 >MySQL分组之后按照固定顺序排序 FIELD

MySQL分组之后按照固定顺序排序 FIELD

时间:2024-03-11 16:45:57浏览次数:20  
标签:顺序 FIELD 字段 分组 MySQL type 按照

以下回答来自通义千问:

要按照特定顺序显示type字段的统计结果,MySQL并没有提供直接按指定顺序进行GROUP BY的方法。但是,你可以结合ORDER BY语句和FIELD()函数来实现这一需求。FIELD()函数可以将某个字段的值与一系列指定值进行比较,并按照指定值的顺序排序。

假设你希望固定的type顺序是 'A', 'B', 'C',那么可以这样写SQL:

SELECT type, COUNT(id) AS nums
FROM table
GROUP BY type
ORDER BY FIELD(type, 'A', 'B', 'C');

 

这样,即使原始数据表中的type字段顺序不是'A','B','C',查询结果也将按照'A','B','C'的顺序排列统计结果。如果type字段中有不在指定顺序中的值,它们将被放在最后,按照字母顺序排列。

标签:顺序,FIELD,字段,分组,MySQL,type,按照
From: https://www.cnblogs.com/liqin927/p/18066484

相关文章

  • mysql5.7MHA配置
    准备工作,三台服务器,安装mysql5.7-glibc版本,做主从配置,用gtid模式。安装mysql1、准备安装包[root@hk2install]#llmysql-5.7.32-linux-glibc2.12-x86_64.tar.gz-rw-r--r--1rootroot661214270Jan2019:59mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz 2、解压缩,环......
  • MySQL实现事务隔离的原理
    一、readview四个字段create_trx_id:创建该readview的事务的事务idm_ids:创建readview时,当前数据库中的活跃事务(指启动但还没提交的事务)min_trx_id:m_ids的最小值max_trx_id:创建readview后,下一个事务的id二、聚簇索引的隐藏列trx_id:最近一次改动该聚簇索引记录的事务idrol......
  • Mysql和Clickhouse数据查询-按照时间分组统计并且对无无数据的日期补0
      最近在做数据查询需求的时候,遇到按照时间分组查询统计指标的需求,比如说查询模块的最近15天访问数据量,没有数据的日期补0,以前对于这种类似的需求都是通过代码来补数据,想试试sql实现这种查询,因此查询了不少文章,对于类似实现方法的文章网上也有很多,差异也很多,因此这篇文章只......
  • MySQL 8.0.26版本升级32版本查询数据为空的跟踪
    某业务系统将MySQL8.0.26升级为GreatSQL8.0.32-24后,某些特定的SQL语句不能查询到数据。经测试MySQL8.0.32也存在相同的问题此BUG已在GreatSQL8.0.32-25版本中解决MySQL8.0.26版本升级32版本查询数据为空的跟踪接到客户反馈的问题后,对问题进行了复现和分析。版本信......
  • Mysql如何给字符串添加索引(前缀索引)
    在日常开发中,我们经常给字符串添加索引,那么给字段添加索引有什么技巧吗,我们看看下面的例子,我们给一个邮箱添加索引,应该如何添加呢看看下面这条sqlselect*fromuserwhereemail='[email protected]'如果我们不添加索引,肯定是要进行全表扫描的,那么我们如何添加呢有两种方式a......
  • MYSQL学习笔记23: 多表查询(自连接内连接+左右外连接)
    多表查询(自连接)自连接查询,可以是内连接查询,也可以是外连接查询select字段列表from表A别名Ajoin表A别名Bon条件...;自连接内连接查询员工以及所属领导的名字#可以这样写selecte1.name'员工',e2.name'上司'fromempe1joinempe2one1.man......
  • MYSQL学习笔记24: 多表查询(联合查询,Union, Union All)
    多表查询(联合查询,union,unionall)union查询需要多张表的列数一致,字段类型也保持一致对于union查询,就是把多次查询的结果合并起来,形成一个新的查询结果集select字段列表from表A...union[all]select字段列表from表B...;查询出薪资低于10000,或年龄......
  • MYSQL学习笔记25: 多表查询(子查询)[标量子查询,列子查询]
    多表查询(子查询)子查询,也称嵌套查询子查询的语句可以是insert/update/delete/select中的任何一个根据子查询的结果不同,可以分为:标量子查询(结果为单个值)列子查询(结果为一列)行子查询(子查询结果为一行)表子查询(子查询结果为多行多列)select*fromt1wh......
  • MySQL-扩展
    存储引擎体系结构连接层最上层是一些客户端和链接服务,主要是完成一些类似于链接处理、授权认证及相关的安全方案。服务器也会为安全接入的每个客户端验证它所具有的操作权限。服务层第二层架构主要完成大多数的核心服务功能,如SQL接口,并完成缓存的查询,SQL的分析和优化,部分内......
  • Mysql-基础
    数据模型可以建立多个数据库,各数据库隔离数据库中可以建立多各关系型数据表SQL分类DDL数据定义语言,用来定义数据库对象(数据库、表、字段)数据库操作查询查询所有数据库SHOWDATABSE;查询当前数据库SELECTDATABASE();创建创建数据库CREATADATABASE[IFNOTEXIS......