これは私のインタビューの質問です。インタビューQ:テーブルlogin_logをlast_loginに変換してください
システムでは、すべてのログインイベントがlogin_logテーブルに記録されます。これは主に3つの列が含まれます。
- のuser_id
- login_time
- login_ip
我々は今、36,000ユーザーを持っているが、これでは3,600,000行があるので、各ユーザーは、平均で約100倍にログインしました表。
次に、このテーブルをlast_loginという別のテーブルに変換し、各ユーザーの最新のログインイベントのみを記録します。だから、この新しいテーブルには以上の36,000行は存在しません
- のuser_id
- last_login_time
- last_login_ip
:それはまた、3列が含まれています。
候補者は、SQLまたはプログラミングによってこの問題を解決できます。候補者の中には、1つのSQLだけで解決するものがあります。
お楽しみください!
UPDATE
ヒント:login_logが主キーとしてAUTO_INCREMENT id
を有することができます。最新のログインしたイベントの最大値はid
です。
別のlogin_log行(2、 '2017-02-17'、500)を追加してもう一度お試しください:-) – auntyellow
@auntyellow - それは良い点です。私は上記の私の答えを更新しました。ありがとう! – leeyuiwah