mysql - 在mysql中使用“HASH PARTITIONING”查找每个分区中的行数
问题描述
我正在阅读一本关于“SQL QUERIES”的书,在关于“用于分区的 HASH 方法”的部分中,我找到了我将在此处发布的查询。我试图通过在“WAMPSERVER”上运行的本地主机来做到这一点。这是查询:
CREATE TABLE courses
( id_course INT NOT NULL,
course_name VARCHAR(300) NOT NULL,
course_level ENUM('beginner', 'intermediate', 'advanced')
)
PARTITION BY HASH (id_course)
PARTITIONS 5 (PARTITION C1, PARTITION C2, PARTITION C3, PARTITION C4, PARTITION C5);
之后,我在表中插入了 10 行。这是表格行的图片:
之后,我试图找出每个分区中的行数。这本书提出了这个查询:
但问题是在书中查询的输出中“partition_rowcount”列与我不相似。我(仅供参考)解释说这本书有 4 个分区并将它们命名为“H1 到 H4”。这是书的输出:
我想知道问题出在哪里以及为什么我的输出与书本不同。我知道还有其他查询可以找到每个分区中的行,但我无法理解这种差异的原因。
解决方案
Your result is a hex string which suggests something has gone wrong with the data types. This is explained in https://bugs.mysql.com/bug.php?id=56642. Try explicitly casting the count
to a string so it can concatenate with your other string normally:
Select concat("# of rows in H1",(cast count(*) as char)) partition_rowcount
From courses partition (c1)
...
推荐阅读
- sql-server - 在兼容模式 2008 上运行的 SQL Server 2016
- python - 通过 ORM 删除多个 Django 对象
- python - 如何使用 scipy.Delaunay 避免四面体躺在飞机上?
- mathnet-numerics - 为什么 MathNet Point3D 组件是只读的?
- xquery - 如何替换marklogic中特定元素的属性文本
- java - spring boot jar和intellij idea中错误处理的不同行为
- etl - 使用任何 ETL 工具进行数据转换的可行性分析
- python - 在两个 DataFrame 中查找对应的值
- angular - 角度笑话,测试效果抛出未处理的错误
- regex - Kibana:我可以将“时间”存储为变量并运行连续搜索吗?