SELECT的校验和结果在MySQL中

blu*_*ers 2 mysql select checksum

尝试获取SELECT语句结果的校验和,尝试了这一点

SELECT sum(crc32(column_one))
FROM database.table;
Run Code Online (Sandbox Code Playgroud)

哪个有效,但这不起作用:

SELECT CONCAT(sum(crc32(column_one)),sum(crc32(column_two)))
FROM database.table;
Run Code Online (Sandbox Code Playgroud)

对建议持开放态度,主要思想是从SELECT语句中获取有关行和列结果的SUM的有效校验和.

Dan*_*umb 12

问题是,CONCATSUM没有在兼容这种格式.

CONCAT 被设计为在结果集中每行运行一次由该行定义的参数.

SUM 是一个聚合函数,旨在在完整的结果集上运行.

CRC32与...具有相同的功能CONCAT.

所以,你有一些嵌套的功能只是不能很好地融合在一起.

你可以尝试:

SELECT CONCAT(
    (SELECT sum(crc32(column_one)) FROM database.table),
    (SELECT sum(crc32(column_two)) FROM database.table)
);
Run Code Online (Sandbox Code Playgroud)

要么

SELECT sum(crc32(column_one)), sum(crc32(column_two))
FROM database.table;
Run Code Online (Sandbox Code Playgroud)

并使用您的客户语言将它们连接起来.