試圖獲得一個SELECT語句的結果的校驗和,試過這種SELECT的校驗結果在MySQL
SELECT sum(crc32(column_one))
FROM database.table;
其中的工作,但並沒有工作:
SELECT CONCAT(sum(crc32(column_one)),sum(crc32(column_two)))
FROM database.table;
開放的建議,主要想法是從SELECT語句中獲取行和列結果的SUM的有效校驗和。
試圖獲得一個SELECT語句的結果的校驗和,試過這種SELECT的校驗結果在MySQL
SELECT sum(crc32(column_one))
FROM database.table;
其中的工作,但並沒有工作:
SELECT CONCAT(sum(crc32(column_one)),sum(crc32(column_two)))
FROM database.table;
開放的建議,主要想法是從SELECT語句中獲取行和列結果的SUM的有效校驗和。
問題是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;
,並與你的客戶的語言將它們連接起來。
你是什麼意思「沒有工作」?錯誤訊息?意外的結果?服務器崩潰了? – Oswald 2011-05-10 20:06:28