Membuat Kueri SQL

Membuat kueri SQL untuk menghitung dan mengurutkan login unik dalam sebulan terakhir

Anda dapat membuat kueri model secara langsung dan menguji hasil yang ditampilkan saat menggunakan parameter value yang berbeda dengan Konsol Cloud, atau dengan memanggil Vertex AI API secara langsung.

Perintah Format Bebas

Pertimbangkan tabel dengan skema seperti yang dijelaskan di bawah.

  • Nama kolom - Deskripsi
  • Username - nama pengguna yang login
  • LicenseType - "MultiUse" atau "SingleUse"
  • LoginTime - Waktu peristiwa login

Sebagai pakar analisis data, tulis kueri SQL untuk menampilkan daftar pengguna, jenis lisensinya, dan jumlah hari unik saat pengguna login selama 3 bulan kalender terakhir. Urutkan berdasarkan jumlah login tertinggi dalam sebulan hingga jumlah login terendah dalam sebulan.

Respons

WITH MonthlyLogins AS (
SELECT
Username,
LicenseType,
DATE_TRUNC('month', LoginTime) AS LoginMonth,
COUNT(DISTINCT DATE(LoginTime)) AS UniqueLoginDays
FROM your_table
WHERE LoginTime >= DATE_TRUNC('month', CURRENT_DATE - INTERVAL '3 month')
GROUP BY Username, LicenseType, LoginMonth
)
SELECT
Username,
LicenseType,
SUM(UniqueLoginDays) AS TotalUniqueLoginDays
FROM MonthlyLogins
GROUP BY Username, LicenseType
ORDER BY TotalUniqueLoginDays DESC;

Penjelasan:

  1. WITH MonthlyLogins AS (...): Ini menentukan Ekspresi Tabel Umum (CTE) bernama MonthlyLogins untuk menghitung hari login unik bagi setiap pengguna dan jenis lisensi dalam setiap bulan.
  2. SELECT ... FROM your_table WHERE LoginTime >= ...: Ini akan memilih data yang relevan dari tabel Anda, yang memfilter peristiwa login dalam 3 bulan terakhir.
  3. DATE_TRUNC('month', LoginTime) AS LoginMonth: Fungsi ini mengekstrak awal bulan dari kolom LoginTime dan memberinya alias sebagai LoginMonth.
  4. COUNT(DISTINCT DATE(LoginTime)) AS UniqueLoginDays: Fungsi ini menghitung tanggal login yang berbeda dalam setiap bulan, sehingga memberi kita jumlah hari login unik.
  5. GROUP BY Username, LicenseType, LoginMonth: Ini mengelompokkan hasil menurut nama pengguna, jenis lisensi, dan bulan login.
  6. SELECT ... FROM MonthlyLogins GROUP BY Username, LicenseType: Ini memilih nama pengguna, jenis lisensi, dan menjumlahkan UniqueLoginDays untuk setiap pengguna dan jenis lisensi di semua bulan.
  7. ORDER BY TotalUniqueLoginDays DESC: Ini mengurutkan hasil dalam urutan menurun berdasarkan jumlah total hari login unik.

Catatan:

  • Ganti your_table dengan nama sebenarnya dari tabel Anda.
  • Kueri ini mengasumsikan bahwa kolom LoginTime Anda adalah jenis data stempel waktu atau tanggal waktu.
  • Fungsi DATE_TRUNC dapat bervariasi bergantung pada sistem database tertentu Anda.

Kueri ini akan memberi Anda daftar pengguna, jenis lisensinya, dan jumlah total hari unik saat mereka login selama 3 bulan terakhir, yang diurutkan dari jumlah hari login tertinggi ke terendah.

Model: gemini-1.5-flash-001
Suhu: 1
Token output maks: 8192
TopK: 40
TopP: 0,95