--- tags: sql, LeetCode --- # 1890. The Latest Login in 2020 (資訊來自於`leetcode 1890`[ The Latest Login in 2020](https://leetcode.com/problems/the-latest-login-in-2020/description/)) ### 2020年最新登錄 ![](https://i.imgur.com/kYp45uh.png) 編寫一個 SQL 查詢來報告一年中所有用戶的最新2020登錄。 不包括未登錄的用戶2020。 ![](https://i.imgur.com/4BkGKYx.png) ### 解題方式: ```sql= select user_id,max(time_stamp) last_stamp from Logins where year(time_stamp) = 2020 group by user_id ``` ### 解題解析: 用戶 6 登錄了 3 次,但在 2020 年只登錄了一次,所以我們將此登錄包含在結果表中。 用戶 8 在 2020 年兩次登錄他們的帳戶,一次在 2 月,一次在 12 月。我們在結果表中只包括最新的一個(12 月)。 用戶 2 登錄他們的帳戶 2 次,但在 2020 年僅登錄一次,因此我們將此登錄包含在結果表中。 用戶 14 在 2020 年沒有登錄,所以我們沒有將他們包含在結果表中。 在抓取年度時也可以使用YEAR()函式,YEAR()函式只能使用date函數值,他可以方便我們抓出date函數的年度值。 (資訊來自於[ SQL Server YEAR()函數](https://www.w3schools.com/sql/func_sqlserver_year.asp))