-1

列のあるテーブルがあります。

AnswerID、OwnerUserID、CreationDate

(AnswersPosted)というタイトルの4番目の列に、OwnerUserIDがそのAnswerIDにリストされているCreationDateまでに投稿した回答の総数を入力するにはどうすればよいですか?

編集:

以下は、テーブルがどのように表示されるかの例です。(参加したばかりなので画像を投稿できません...)最後の列に正しい数字をすべて表示することに興味があります。ありがとう!

ここに画像の説明を入力してください

4

1 に答える 1

2

この解決策を使用してください:

SELECT a.AnswerID,
       a.OwnerUserID,
       a.CreationDate,
       b.cnt AS AnswersPosted
FROM   tbl a
JOIN   (
       SELECT    a.OwnerUserID,
                 a.CreationDate,
                 COUNT(b.OwnerUserID) AS cnt
       FROM      tbl a
       LEFT JOIN tbl b ON a.OwnerUserID  = b.OwnerUserID
                      AND b.CreationDate < a.CreationDate
       GROUP BY  a.OwnerUserID,
                 a.CreationDate
       ) b ON a.OwnerUserID  = b.OwnerUserID
          AND a.CreationDate = b.CreationDate

SQLFiddle デモ

于 2012-08-16T21:29:58.847 に答える