次の表
CREATE TABLE [dbo].[Poll](
[PollID] [bigint] IDENTITY(1,1) NOT NULL,
[LoginID] [bigint] NOT NULL,
[FacilityID] [bigint] NOT NULL,
[PolledAt] [datetime] NOT NULL,
)
PolledAt
このテーブルを毎晩空にする必要があります...ただし、フィールドごとにグループ化されたフィールドに基づいて最大行を残しLoginID
ます。つまり、ユーザー(LoginID)には複数の行があり、夜の終わりまでに、ユーザーは削除後に1行だけを持つ必要があります。その行がMAX(PolledAt)
値である必要があります。
これで削除したくないレコードを取得できます:
SELECT
LoginID,
MAX(PolledAt) AS MaxPolledAt
FROM
Poll
GROUP BY
LoginID
しかし、私はポリッドである主キーを表示していないので、削除を形成する方法がわかりません。上記のselectの結果を取得し、selectが返すものを除くすべてを削除する必要があります。