В чем разница между CHECKSUM_AGG() и CHECKSUM()?
В чем разница между CHECKSUM_AGG() и CHECKSUM()?
Ответ 1
-
CHECKSUM
вычисляет хэш для одного или нескольких значений в одной строке и возвращает целое число. -
CHECKSUM_AGG
- это совокупная функция, которая принимает одно целое значение из нескольких строк и вычисляет агрегированную контрольную сумму для каждой группы.
Они могут использоваться вместе для проверки нескольких столбцов в группе:
SELECT category, CHECKSUM_AGG(CHECKSUM(*)) AS checksum_for_category
FROM yourtable
GROUP BY category
Ответ 2
CHECKSUM_AGG будет выполнять контрольную сумму для всех агрегированных значений, приходящих со значением. Он обычно используется, чтобы увидеть, изменился ли набор значений (в группе).
CHECKSUM предназначен для создания хэш-индекса, основанного на списке выражений или столбцов. Одним из примеров использования CHECKSUM является сохранение уникального значения для всей строки в столбце для последующего сравнения.