是否有可能在mysql中散列整个结果集?

时间:2014-10-21 11:59:57

标签: mysql

是否可以将哈希函数应用于mysql中的整个结果集。

我知道如何在结果集的每一行中哈希值

e.g。 SELECT md5('something')

但是说我有一个像

这样的查询
SELECT * FROM `some_table`

结果集包含很多行,是否可以将整个结果集散列为一个值?

我应该清楚我不希望每行都有一个哈希值。我想要整个结果集的一个哈希值。

即。一个人拥有整套。

编辑:使要求更清晰。

3 个答案:

答案 0 :(得分:5)

合并CONCAT()GROUP_CONCAT()

SELECT MD5(GROUP_CONCAT(CONCAT(col1,col2,...))), 1 as g
  FROM some_table GROUP BY g;

答案 1 :(得分:1)

您可以将所有列连接在一起,并将结果用于md5()

select md5(concat(col1, col2, . . . coln)) 
from some_table;

答案 2 :(得分:1)

您必须创建所有列的连接字符串,然后应用哈希值。

SELECT MD5(CONCATE(COL1,COL2,COL3...COLn))