mysql选择增量组行号

时间:2019-07-02 06:50:48

标签: mysql

我有一个如下表:

OBJECTID            FRUIT
----------------------------
XA13AC              Apple
HAS13X              Grape
UTHQ1G              Orange
YQ1GXQ              Kiwi
OQP1GV              Apple
GPQ1VA              Grape
GQ1GQ1              Manggo
GYX1GQ              Banana
OPI1G2              Apple

表和数据:

CREATE TABLE `FRUITS` (
  `OBJECTID` varchar(6) DEFAULT NULL,
  `FRUIT` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

Insert into `FRUITS` (`OBJECTID`, `FRUIT`) values
('XA13AC','Apple'),
('HAS13X','Grape'),
('UTHQ1G','Orange'),
('YQ1GXQ','Kiwi'),
('OQP1GV','Apple'),
('GPQ1VA','Grape'),
('GQ1GQ1','Manggo'),
('GYX1GQ','Banana'),
('OPI1G2','Apple');

我尝试了以下SQL不起作用:

SELECT *,
             ( 
                CASE FRUIT 
                WHEN @curType 
                THEN @curRow := @curRow + 1 
                ELSE @curRow := 1 AND @curType := FRUIT END
              ) + 1 AS GROUP_NUM
FROM FRUITS 
JOIN (SELECT @curRow := 0, @curType := '') r
GROUP BY FRUIT

预期结果:

OBJECTID            FRUIT       GROUP_NUM
-----------------------------------------
XA13AC              Apple           1
HAS13X              Grape           2
UTHQ1G              Orange          3
YQ1GXQ              Kiwi            4
OQP1GV              Apple           1
GPQ1VA              Grape           2
GQ1GQ1              Manggo          5
GYX1GQ              Banana          6
OPI1G2              Apple           1

尝试按名称将水果分组,并将其增量group_num分配到不同的水果名称上。

mysql版本:5.6

任何帮助都会很棒。 谢谢

1 个答案:

答案 0 :(得分:0)

解决者:

loadComplete