Membuat Kueri SQL

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

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

Perintah Freeform

Pertimbangkan tabel dengan skema seperti yang dijelaskan di bawah ini.

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

Sebagai pakar analisis data, tulislah kueri SQL untuk menampilkan daftar pengguna, jenis lisensi mereka, dan jumlah hari unik pengguna masuk selama 3 bulan kalender terakhir. Mengurutkannya 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 Common Table Expression (CTE) bernama MonthlyLogins untuk menghitung hari login unik untuk setiap pengguna dan jenis lisensi dalam setiap bulan.
  2. SELECT ... FROM your_table WHERE LoginTime >= ...: Tindakan ini memilih data yang relevan dari tabel Anda, yang memfilter peristiwa login dalam 3 bulan terakhir.
  3. DATE_TRUNC('month', LoginTime) AS LoginMonth: Opsi ini mengekstrak awal bulan dari kolom LoginTime dan memberikan aliasnya sebagai LoginMonth.
  4. COUNT(DISTINCT DATE(LoginTime)) AS UniqueLoginDays: Kolom ini menghitung tanggal login yang berbeda dalam setiap bulan, sehingga memberi kami jumlah hari login unik.
  5. GROUP BY Username, LicenseType, LoginMonth: Opsi ini mengelompokkan hasil menurut nama pengguna, jenis lisensi, dan bulan login.
  6. SELECT ... FROM MonthlyLogins GROUP BY Username, LicenseType: Tindakan ini memilih nama pengguna, jenis lisensi, dan menjumlahkan UniqueLoginDays untuk setiap pengguna dan jenis lisensi di semua bulan.
  7. ORDER BY TotalUniqueLoginDays DESC: Opsi ini mengurutkan hasil dalam urutan menurun berdasarkan jumlah total hari login unik.

Catatan:

  • Ganti your_table dengan nama tabel Anda yang sebenarnya.
  • Kueri ini mengasumsikan kolom LoginTime 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 lisensi mereka, dan total jumlah hari unik saat mereka login selama 3 bulan terakhir, yang diurutkan dari jumlah hari login tertinggi hingga terendah.

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