0

我创建了一个非常凌乱的表,我需要清理它。这不是一件容易的事。

情况:

  • 凌乱的表被称为 tbl_users。
  • 它包含有关用户的信息。它有一个唯一的 ID。
  • 最独特的列是phone_number,它标识了一个用户。

出于各种原因,我在此表中不止一次有同一个用户使用同一个电话号码。

您可以在名为 created_date 的列中查看它的创建时间。

我需要的:

  • 我需要找到每个用户的第一个创建的实例,然后我需要找到
  • 用户的第二个甚至第三个实例的所有 ID(如果存在)。

我需要 ID,因为有来自其他表的数据,我需要将 user_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 回答