MySQL 中 SELECT 结果的校验和

2023-12-12

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

SELECT sum(crc32(column_one))
FROM database.table;

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

SELECT CONCAT(sum(crc32(column_one)),sum(crc32(column_two)))
FROM database.table;

接受建议,主要思想是从 SELECT 语句中获取行和列结果之和的有效校验和。


问题是CONCAT and SUM不兼容此格式。

CONCAT设计为在结果集中的每行上针对该行定义的参数运行一次。

SUM是一个聚合函数,设计用于在完整结果集上运行。

CRC32与以下函数属于同一类CONCAT.

因此,函数的嵌套方式无法很好地协同工作。

你可以尝试:

SELECT CONCAT(
    (SELECT sum(crc32(column_one)) FROM database.table),
    (SELECT sum(crc32(column_two)) FROM database.table)
);

or

SELECT sum(crc32(column_one)), sum(crc32(column_two))
FROM database.table;

并将它们与您的客户端语言连接起来。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 中 SELECT 结果的校验和 的相关文章

随机推荐