MySQL行号混乱

时间:2012-10-25 14:35:14

标签: mysql sql group-by

所以我查看了如何在mysql中从oracle模拟row_number函数,并遇到了这个问题:http://www.xaprb.com/blog/2005/09/27/simulating-the-sql-row_number-function/

我的问题是COUNT(*)如何为每个类型组保持增长。不会为每个不同的variety重置,因为那是该组的第二部分吗?

2 个答案:

答案 0 :(得分:1)

group by将不会重置,因为使用两列完成分组。基本上,在连接之后形成的表具有许多条目,因此计数上升。

以下条件“和l.variety> = r.variety”在查询中限制没有行, 'fuji'是第一个,'limbertwig'按字母顺序排在最后,决定了计数

因此,如果没有上述条件,则计数(*)将等于= 3.

答案 1 :(得分:1)

关键是加入条件l.variety >= r.variety。这会将l中的行添加到r集中第一个的所有变种的结果集中,然后减少一个,然后减少一个,等等。运行不带GROUP BY的查询我会看到的。