我正在生成一个临时表,其中包含每个“帐户ID”的重复条目。我希望所有具有相同帐户ID的记录都有一个标识符。例如,帐户ID为1234的所有记录的标识符都应为1.帐户ID为4321的所有记录的标识符都应为2.
我已在此字段的临时表中添加了一列,但我不知道如何根据帐户ID填充它。
答案 0 :(得分:0)
您需要另一列来区分您的行。我们假设您还有一个日期:
Accounts.AccountID
Accounts.Created
让我们找到原始记录:
SELECT
A.AccountID,
A.Created,
CASE WHEN
A.Created = MinCreated
THEN
1
ELSE
2
AS "Version"
FROM
Accounts AS A
INNER JOIN
(
SELECT
AccountID,
MIN(Created)
FROM
Accounts
GROUP BY
AccountID
) AS B
ON
A.AccountId = B.AccountId
答案 1 :(得分:0)
您不需要额外的标识符,只需按帐号分组,然后选择每个标识符的最大值(日期),例如:
Select accountID, max(lastUpdated)
from t
group by accountID
答案 2 :(得分:0)
您可以将DENSE_RANK()功能与ORDER BY AccountId
;
SELECT *, DENSE_RANK() OVER (ORDER BY AccountId) Identifier
FROM YourTable
<强> Fiddle demo 强>