我想在从表中提取记录时为记录分配计数器。
应根据所属的组分配计数器。
例如
table.1
|Groups | Counter |Description
-------------------------------------------
|Stationary | 1 | Pen
|Stationary | 2 | Eraser
|Stationary | 3 | Book
|Stationary | 4 | Rule
|Cars | 1 | Benz
|Cars | 2 | Opel
|Cars | 3 | Toyota
答案 0 :(得分:0)
您可以使用变量来实现每个组的计数器
SELECT t1.*,
(@counter:=
CASE WHEN @group =`Groups`
THEN @counter +1
ELSE 1
END) counter,
@group:= `Groups`
FROM Table1 t1,
(SELECT @counter:=0,@group:='null') t
ORDER BY `Groups`
答案 1 :(得分:0)
你可以试试这个:)
SELECT *, (SELECT COUNT(*)+1
FROM [sometbl] counter
WHERE t.groups = counter.groups
AND t.description > counter.description) AS Counter
FROM [sometbl] t