Sql 添加附加列以对现有列上发生的次数进行计数
我有一个包含许多个人数据字段的现有表。 对于每个个人记录,都有一个唯一的参考号 我正在尝试编写一个脚本,可以在现有表中添加一个新列 这个新添加的列将保留每行上唯一引用出现的时间数计数 例如:Sql 添加附加列以对现有列上发生的次数进行计数,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有一个包含许多个人数据字段的现有表。 对于每个个人记录,都有一个唯一的参考号 我正在尝试编写一个脚本,可以在现有表中添加一个新列 这个新添加的列将保留每行上唯一引用出现的时间数计数 例如: --------------------------- UniqueID | PersonlData1 | PersonalData2 | A | A1 | A2 | B | B1 | B2 |
---------------------------
UniqueID | PersonlData1 | PersonalData2 |
A | A1 | A2 |
B | B1 | B2 |
C | C1 | C2 |
D | D1 | D2 |
A | AA1 | AA2 |
D | DD1 | DD2 |
成为:
---------------------------
UniqueID | PersonlData1 | PersonalData2 | CountID |
A | A1 | A2 | 2 |
B | B1 | B2 | 1 |
C | C1 | C2 | 1 |
D | D1 | D2 | 2 |
A | AA1 | AA2 | 2 |
D | DD1 | DD2 | 2 |
我们可以尝试使用
COUNT
作为分析函数:
SELECT
UniqueID,
Person1Data1,
PersonalData2,
COUNT(*) OVER (PARTITION BY UniqueID) CountID
FROM yourTable;
我们可以尝试使用
COUNT
作为分析函数:
SELECT
UniqueID,
Person1Data1,
PersonalData2,
COUNT(*) OVER (PARTITION BY UniqueID) CountID
FROM yourTable;
您正在使用哪个数据库?因为每个数据库的答案都不同。但是无论如何,为您的RDBMS搜索
add column
或其类似项。SQL server管理研究调用列UniqueID
的可能重复已经够糟糕了(因为id意味着唯一性),在该列上有重复值是如此荒谬,实际上有点可笑。您使用的是哪个数据库?因为每个数据库的答案都不同。但是无论如何,为您的RDBMS搜索add column
或其类似项。SQL server管理研究调用列UniqueID
的可能重复已经够糟糕了(因为id意味着唯一性),在该列上有重复的值是如此荒谬,实际上有点可笑。我想知道现在是否有另一个名为“Date”的字段。这实际上是日期格式,比如说DD/MM/YYYYY,我想做的是每次当我看到CountID>1时,我只想从一个特定日期获取记录,比如一个日期是2019年11月12日,而我想从中获取的是2019年12月12日?这能做到吗?感谢you@Ekim如果满足您的要求,请用新的表值发布另一个问题。接受这个答案我想知道现在我是否有另一个名为“日期”的字段。这实际上是日期格式,比如说DD/MM/YYYYY,我想做的是每次当我看到CountID>1时,我只想从一个特定日期获取记录,比如一个日期是2019年11月12日,而我想从中获取的是2019年12月12日?这能做到吗?感谢you@Ekim如果满足您的要求,请用新的表值发布另一个问题。接受这个答案