Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan Tarikh Log Masuk Terkini untuk Setiap Pengguna dalam SQL?

Bagaimana untuk Mendapatkan Tarikh Log Masuk Terkini untuk Setiap Pengguna dalam SQL?

DDD
Lepaskan: 2025-01-15 17:06:47
asal
457 orang telah melayarinya

How to Retrieve the Latest Login Date for Each User in SQL?

SQL pertanyaan tarikh rekod log masuk terakhir setiap pengguna

Soalan:

Dengan mengandaikan jadual pangkalan data mengandungi maklumat log masuk pengguna, bagaimanakah kita boleh mendapatkan tarikh log masuk terakhir untuk setiap pengguna? Pertimbangkan kemungkinan tarikh log masuk pendua.

Penyelesaian:

Terdapat dua cara biasa untuk menyelesaikan masalah ini:

Kaedah 1: Menggunakan subquery INNER JOIN

Kaedah ini menggunakan subkueri untuk mengenal pasti tarikh log masuk terakhir setiap pengguna, yang kemudiannya digunakan untuk menapis jadual utama:

<code class="language-sql">select t.username, t.date, t.value
from MyTable t
inner join (
    select username, max(date) as MaxDate
    from MyTable
    group by username
) tm on t.username = tm.username and t.date = tm.MaxDate</code>
Salin selepas log masuk

Kaedah 2: Fungsi tetingkap

Untuk pangkalan data yang menyokong fungsi tetingkap, kaedah yang lebih cekap boleh digunakan:

<code class="language-sql">select x.username, x.date, x.value 
from (
    select username, date, value,
        row_number() over (partition by username order by date desc) as _rn
    from MyTable 
) x
where x._rn = 1</code>
Salin selepas log masuk

Kaedah ini menggunakan pengisihan nombor baris pada data yang dipartisi, di mana tarikh terakhir setiap pengguna diberikan kedudukan 1.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Tarikh Log Masuk Terkini untuk Setiap Pengguna dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan