SELECT SUM(CRC32(列))LIMIT不起作用

时间:2013-04-17 21:52:55

标签: mysql

我需要使用LIMIT获取特定列和特定行数的校验和。

SELECT SUM(CRC32(column)) FROM table LIMIT 0, 100;

但是,返回的值是整个表的校验和。为什么会这样?如何使用LIMIT来获取仅特定行数的校验和?

以下作品:

SELECT SUM(CRC32(column)) FROM table WHERE id > 0 AND id < 101;

但我不想使用此方法,因为auto_increment值可能会跳转。

2 个答案:

答案 0 :(得分:1)

  

为什么会这样?

在聚合函数之后应用

LIMIT

在没有GROUP BY的情况下使用时,SUM会聚合整个表格,只留下一条记录,该记录属于LIMIT

使用此:

SELECT  SUM(CRC32(column))
FROM    (
        SELECT  column
        FROM    mytable
        ORDER BY
                id
        LIMIT   100
        ) q

答案 1 :(得分:0)

你可以做到

  SELECT SUM(CRC32(column)) FROM 
    (SELECT column FROM table LIMIT 0, 100) AS tmp;
相关问题