显示时自动记录

时间:2014-04-04 19:58:25

标签: mysql

我想在从表中提取记录时为记录分配计数器。
应根据所属的组分配计数器。
例如
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

2 个答案:

答案 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`

See Fiddle Demo

答案 1 :(得分:0)

你可以试试这个:)

SELECT *, (SELECT COUNT(*)+1 
           FROM [sometbl] counter 
           WHERE t.groups = counter.groups 
           AND t.description > counter.description) AS Counter
FROM [sometbl] t

DEMO