Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Prüfsumme von SELECT-Ergebnissen in MySQL

Das Problem ist, dass CONCAT und SUM sind in diesem Format nicht kompatibel.

CONCAT ist so konzipiert, dass es einmal pro Zeile in Ihrer Ergebnismenge auf den Argumenten ausgeführt wird, die durch diese Zeile definiert sind.

SUM ist eine Aggregatfunktion, die für die Ausführung auf einer vollständigen Ergebnismenge ausgelegt ist.

CRC32 gehört zur selben Klasse von Funktionen wie CONCAT .

Sie haben also Funktionen verschachtelt, die einfach nicht gut zusammenpassen.

Sie könnten Folgendes versuchen:

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

oder

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

und verketten Sie sie mit Ihrer Client-Sprache.