添加对每个项目进行计数的列

时间:2016-05-04 14:59:18

标签: sql sql-server

我有一个列表,其中包含一些项目,如IT,IT,销售,IT,市场,销售,市场等部门名称。

如何添加另一个按以下方式计算每个部门名称的列,基本上每个项目都有自己的计数。

例如

   name   added column
    IT,     1 
    IT,     2
    Sale,   1
    IT,     3
    Market, 1
    Sale,   2

我知道如何实现?

1 个答案:

答案 0 :(得分:0)

编辑:根据您的请求,我添加了SQL Server的答案。

SQL Server:

SELECT 
  name,
  ROW_NUMBER() OVER (PARTITION BY Name ORDER BY Name) As AddedColumn
FROM YourTable

<强> MYSQL:

<强> SQL Fiddle Demo

SELECT 
    @row_number:=CASE
        WHEN @name = name THEN @row_number + 1
        ELSE 1
    END AS num,
    @name:=name as name
FROM
    YourTable
ORDER BY name;