clickhouse - 获取 ClickHouse 表前 n 行的校验和(cityHash64)
问题描述
根据https://clickhouse.tech/docs/en/sql-reference/functions/hash-functions/,我可以通过这种方式获得整个表的校验和:
SELECT groupBitXor(cityHash64(*)) FROM table
获取表的前 N 行校验和的最准确方法是什么?
例如,我正在使用带有 GenerateRandom 引擎的表,如此处所述。
CREATE TABLE test (name String, value UInt32) ENGINE = GenerateRandom(1, 5, 3)
我尝试使用 LIMIT 子句,但还没有运气。
解决方案
考虑使用子查询:
SELECT groupBitXor(cityHash64(*))
FROM (
SELECT *
FROM table
LIMIT x)
SELECT groupBitXor(cityHash64(*))
FROM
(
SELECT *
FROM system.numbers
LIMIT 10
)
/*
┌─groupBitXor(cityHash64(number))─┐
│ 9791317254842948406 │
└─────────────────────────────────┘
*/
推荐阅读
- python - pytorch TypeError:引用迭代器时,'Example'和'Example'的实例之间不支持'<'
- java - 为什么在创建 testng.xml 套件时要求我重构代码并包含 org.testng.AssertJUnit?
- node.js - 使用分离屏幕模式记录 nodejs 输出
- c++ - 分配二进制和十六进制时,“0b”和“0x”代表什么?
- google-cloud-platform - Google Container Registry 映像生命周期
- video - 为什么我们在使用 ffmpeg 编码视频时无法使用位于同一位置的 POC?
- python - Pandas 在访问特定列中的数据时似乎会更改值
- laravel - 访问 Laravel 中的第二页后 URL 更改
- flutter - 这个 Overlay 小部件不能被标记为需要构建,因为框架已经在构建小部件的过程中
- sql - 从 SQL 列返回 XML 中的特定嵌套节点