MySQL单表查询练习题 按照药品类别编号(gtid)进行分类汇总,计算不同分类下各有多少种药品信息
时间: 2023-06-19 08:09:21 浏览: 169
假设我们有一个药品信息表 drug_info,包括以下字段:
- id:药品编号
- name:药品名称
- gtid:药品类别编号
则可以通过以下 SQL 语句按照 gtid 进行分类汇总,并计算不同分类下各有多少种药品信息:
```
SELECT gtid, COUNT(DISTINCT id) AS num_drugs
FROM drug_info
GROUP BY gtid;
```
其中,COUNT(DISTINCT id) 统计每个 gtid 分类下不同的药品编号数量,AS num_drugs 则给统计结果命名为 num_drugs,以便后续查询。GROUP BY gtid 按照 gtid 进行分组,最终得到每个 gtid 分类下不同药品信息数量的统计结果。
相关问题
mysql 查询gtid
要查询 MySQL 的 GTID,可以使用以下命令:
```
SHOW GLOBAL VARIABLES LIKE 'gtid_mode';
SHOW MASTER STATUS;
```
第一个命令用于查看 GTID 模式,如果输出结果为 ON,则表示 GTID 已启用。
第二个命令用于查看当前主节点的 GTID 信息,包括当前的 GTID,以及下一个要写入 binlog 的 GTID。如果输出结果为空,则表示该节点没有启用 GTID。
mysql gtid
MySQL的GTID(Global Transaction Identifier)是一种用来标识全局事务的机制。GTID能够确保在主从复制环境下,每个事务都有一个独一无二的标识,并且能够准确地追踪和同步主库和从库之间的数据变更。
GTID的管理和记录是通过mysql.gtid_executed表来实现的。在MySQL 5.6及之前的版本中,GTID是以二进制日志(binlog)的形式记录在mysql.gtid_executed表中。每当binlog切换或者MySQL服务关闭时,之前的GTID都会被加入mysql.gtid_executed表中。
在备库上如果未开启binlog,则GTID会直接持久化到mysql.gtid_executed表中。
#### 引用[.reference_title]
- *1* *2* *3* [mysql数据库GTID介绍—概念、优缺点、原理、生命周期等](https://blog.csdn.net/qq_42533216/article/details/124253198)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文