我有一个如下表:
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
任何帮助都会很棒。 谢谢
答案 0 :(得分:0)
解决者:
loadComplete