我需要得到一个记录集,我填了场1级为每60条记录,意味着我需要填写1级领域是这样的:MySQL的副位置计数器
- 在POS = 1和POS = 60 1级= 1 上POS = 61和POS = 120 1级
- = 2
- 上POS = 121和POS = 180与1级= 3
... 然后:如果我让' s说我必须为pos = 601和630 level1 = 10设置630条记录,因为我没有660条记录,第630条记录完成了这个级别。
有没有人有一个想法如何以干净的方式做到这一点?
SET @pos:=0;
SET @posrel:=0;
SET @level1:=0;
SELECT id, member_id, member_name, pos, @posrel:[email protected]+1 AS posrel, @level1:[email protected]+??? AS level1
FROM
(
SELECT id, member_id, LEFT(member_name, LENGTH(member_name)-36) AS member_name, @pos:[email protected]+1 AS pos FROM member_directory WHERE member_name_first= 'A'
) AS directory_listing
HAVING pos % 60 IN(0,1);
这不是寻呼,对不对?因为如果是这样,你做错了。 –
@Adrian:不,它用于目录列表(seo)。我们有超过1亿条记录,需要将它们拆分成多个级别 – nenad007