Sql 添加计算每个项目的列
我有一个列表,其中有一些项目,如it、it、销售、it、市场、销售、市场等部门名称 我如何添加另一列,按以下方式计算每个部门的名称,基本上每个项目都有自己的计数 比如说Sql 添加计算每个项目的列,sql,sql-server,Sql,Sql Server,我有一个列表,其中有一些项目,如it、it、销售、it、市场、销售、市场等部门名称 我如何添加另一列,按以下方式计算每个部门的名称,基本上每个项目都有自己的计数 比如说 name added column IT, 1 IT, 2 Sale, 1 IT, 3 Market, 1 Sale, 2 知道我该如何实现吗?编辑:根据您的请求,我添加了SQL Server的答案 SQL Server: SELECT
name added column
IT, 1
IT, 2
Sale, 1
IT, 3
Market, 1
Sale, 2
知道我该如何实现吗?编辑:根据您的请求,我添加了SQL Server的答案 SQL Server:
SELECT
name,
ROW_NUMBER() OVER (PARTITION BY Name ORDER BY Name) As AddedColumn
FROM YourTable
MYSQL:
SELECT
name,
ROW_NUMBER() OVER (PARTITION BY Name ORDER BY Name) As AddedColumn
FROM YourTable
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;
为什么投反对票??如果我需要添加内容,请告诉我。您有ID字段吗?我没有给你投反对票(虽然我同意如果你投反对票,你应该解释原因),但我认为应该有更多的背景。这个解决方案的目的是什么?您是否真的想要一个计数或某种排序,如您在示例输出中所演示的那样?你已经试过什么了?你要找的是@Matthew,你说每个项目都有自己的计数,但是在你的例子中,相同的项目有单独的计数。为什么输出中多次出现“IT”和“Sale”的计数不同?您知道我如何在microsoft sql server management studio中做到这一点吗?@Matthew我已更新了我的答案。你是我的第一个答案,你是最好的。非常感谢,你为我节省了很多时间。