尝试获取 SELECT 语句结果的校验和,试过这个
SELECT sum(crc32(column_one))
FROM database.table;
哪个有效,但这个无效:
SELECT CONCAT(sum(crc32(column_one)),sum(crc32(column_two)))
FROM database.table;
接受建议,主要思想是从 SELECT 语句中获取行和列结果总和的有效校验和。
最佳答案
问题是 CONCAT
和 SUM
在此格式中不兼容。
CONCAT
旨在根据该行定义的参数在结果集中每行运行一次。
SUM
是一个聚合函数,设计用于在完整结果集上运行。
CRC32
与 CONCAT
属于同一类函数。
因此,您的函数以一种不能很好地协同工作的方式嵌套。
你可以试试:
SELECT CONCAT(
(SELECT sum(crc32(column_one)) FROM database.table),
(SELECT sum(crc32(column_two)) FROM database.table)
);
或
SELECT sum(crc32(column_one)), sum(crc32(column_two))
FROM database.table;
并将它们与您的客户端语言连接起来。
关于mysql - MySQL 中 SELECT 结果的校验和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5955776/