做开发的避免不了写文档,这里给大家提供一个sql语句,用来查询元数据,还挺有意思

1.查询指定数据库中所有的表以及每个表的字段信息


SELECTtable_schema '实例名称',table_name '表名',column_name '字段名',COLUMN_COMMENT '字段中文名',data_type '数据类型',IFNULL( character_maximum_length, numeric_precision ) '长度',NUMERIC_PRECISION '精度',numeric_scale '小数位数',ORDINAL_POSITION '位置',IF( column_key = 'PRI', '是', '' ) AS '是否主键','' AS '是否外键','' AS '唯一',IS_NULLABLE '可以空',column_default '默认值'
FROMINFORMATION_SCHEMA.COLUMNS
WHEREtable_schema = '数据库名'

2.获取单个表的相关信息

desc `你的表名`

下面是自己多年前遇到的一个case when配合sum函数的写法,今天整理博客才注意到的

查询在同一个时间段,订单总数/付款单数/完成单数/退货单数的数量,数据库表结构是这样子的
其中10表示已付款,40表示交易完成,60表示退货

sql语句如下,

SELECT
count(*) AS "总数",
sum(case order_status when 10 then 1 else 0 end) AS '付款单数',
sum(case order_status when 40 then 1 else 0 end) AS '完成单数',
sum(case order_status when 60 then 1 else 0 end) AS '退货单数'
FROM
cl_order_score_report
GROUP BY count_hour

查询结果如下

这里主要用到了sum函数,重点在于sum和sum中的case when语句

Mysql-元数据的查询/case when配合聚合函数的技巧相关推荐

  1. 数据库MySQL基础---约束、表关系、聚合函数、连接查询、分组查询和子查询

    约束 1.主键约束亦成为主码,关键字:primary key,设置了主键约束的列的数据要求:不能为空,不允许重复. 2.自增长策略针对主键,不需要手动给值,自动的值是当前表中该列最大值+1关键字:au ...

  2. group by配合“聚合函数”才有意义

    group by 从英文里理解就是分组.有"聚合函数"来配合才有意义 例如上表:如果 select name from score GROUP BY name 只能得到一组姓名,其 ...

  3. hql查询过滤器及相关聚合函数查询详解

    一.参数查询 参数查询其实是使用等价代换的方法,使用设置的值替换字符串中指定位置的符号,或者通过使用参数名称,使用字符串来替换参数名称的值,这样能避免sql注入的问题,拼接字符串会出现sql注入的问题 ...

  4. mysql datepart_MySql 的查询语句中有没有Datepart函数?

    MySql   的查询语句中有没有Datepart函数? 如没有,要怎么实现? 1 楼hycao(海草)回复于 2002-11-16 20:02:46 得分 0 翻了一下资料,MySql中好象没有Da ...

  5. MySql查询条件in配合field()函数排序

    1.未排序之前查询结果: select * from tt_model_replace_subsidy; 2.指定field()排序规则查询结果: select * from tt_model_rep ...

  6. Case When和聚合函数count、sum的使用

    需求: 根据贫困标志,取出不同标准下的的人数有多少,以区县位单位. 1代表已脱贫人口:2代表返贫人口:3代表未脱贫 select t3.region_id as 'regionId', t3.regi ...

  7. 查询数据(使用聚合函数,还是单表)

    转载于:https://www.cnblogs.com/wangshen31/p/6792627.html

  8. pandas处理mysql 展现wpf_Pandas DataFrame使用多列聚合函数

    通过groupby(...).apply(...)完成此操作是不具备的.这是我一直使用的解决方案(主要使用kalu的逻辑). def grouped_weighted_average(self, va ...

  9. MySql基础篇---002 SQL之SELECT使用篇: 基本的SELECT语句,运算符,排序与分页,多表查询,单行函数,聚合函数,子查询

    第03章_基本的SELECT语句 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. SQL概述 1.1 SQL背景知识 1946 年,世界上第一台电脑 ...

最新文章

  1. flex java_Flex与Java通信 (一)
  2. PHP-Webshell免杀研究
  3. Java实现消息发送
  4. Ubuntu 16.04 下部署Node.js+MySQL微信小程序商城
  5. jupyter配置到服务器_服务器端jupyter notebook映射到本地浏览器的操作
  6. Facebook 正式公开 React Native 重构细节!
  7. 设置域用户帐户的登录时间
  8. GSM/GPRS/EDGE简介
  9. android接推流sdk,Android-SDK推流端说明
  10. php如何生成伪静态url,Thinkphp里关于U函数生成URL伪静态
  11. word文档可以压缩大小吗,详细压缩步骤
  12. VMware虚拟机安装Ubuntu 2022最新版详细图文安装教程(VMware虚拟机安装+Ubuntu下载+VMware虚拟机配置运行)
  13. 有3种水果(苹果、香蕉、橘子),每位同学只能选1种最爱吃的(共5位同学),要求编一个统计水果票数的程序,先输入水果种类,最后输出各水果得票结果。
  14. 如何使用Everything搜索局域网共享文件夹?
  15. php 拼团_详解在微信公众平台里实现微信拼团功能的步骤
  16. agv系统介绍_智能自动化物流系统AGV基础知识(完整介绍)
  17. c语言 将结构体放在flash,stm32的内部flash读写操作(含结构体的保存)
  18. oppor9splus计算机找不到了,如果oppor9splus的返回键失败,该如何设置oppor9splus虚拟键?...
  19. 捷足先登学用CSS:HTML结构化
  20. AD10 PCB板的绘制步骤

热门文章

  1. 全局变量定义的时候左侧加了static_c语言中static 用法
  2. Factory method ‘redisConnectionFactory‘ threw exception; nested exception is java.lang.NoClassDefFou
  3. JDK8新特性(十)之Stream流的map和reduce组合使用、mapToInt()、concat()方法
  4. KubeSphere
  5. mysql的底层数据结构_MySQL索引底层数据结构实现原理
  6. javaSE----进制
  7. java基础的知识_Java基础知识点(一)
  8. java删除数组里的两个_java – 如何从两个数组列表中删除常用值
  9. 这是一个无效的源路径/url
  10. java十进制转换成二进制数