0

クリーンアップする必要があるかなり乱雑なテーブルを作成しました。これは簡単な作業ではありません。

状況:

  • 乱雑なテーブルは tbl_users と呼ばれます。
  • ユーザーに関する情報が含まれています。固有の ID があります。
  • 最もユニークな列は、ユーザーを識別する phone_number です。

さまざまな理由から、このテーブルには同じ電話番号を持つ同じユーザーが複数います。

いつ作成されたかは、created_date という列で確認できます。

必要なもの:

  • 各ユーザーの最初に作成されたインスタンスを見つける必要があり、次に見つける必要があります
  • ユーザーの 2 番目、場合によっては 3 番目のインスタンスのすべての ID (存在する場合)。

user_id を最初のインスタンスに変更する必要がある他のテーブルからのデータがあるため、ID が必要です。

この課題をどのように進めればよいですか?

4

1 に答える 1

3
select t.*, (t.created_date = tf.minDate) as IsFirst
from tbl_users t
inner join (
    select phone_number, min(created_date) as minDate
    from tbl_users
    group by phone_number
) tf on t.phone_number = tf.phone_number
于 2012-09-19T16:27:18.433 に答える