Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memasukkan Nilai Lalai dalam Pertanyaan IN untuk Data Julat Tarikh yang Hilang?

Bagaimana untuk Memasukkan Nilai Lalai dalam Pertanyaan IN untuk Data Julat Tarikh yang Hilang?

Patricia Arquette
Lepaskan: 2025-01-17 06:26:09
asal
510 orang telah melayarinya

How to Include Default Values in an IN Query for Missing Date Range Data?

Dapatkan nilai lalai untuk nilai pertanyaan IN

Andaikan anda mempunyai pertanyaan yang menggunakan pertanyaan IN untuk mendapatkan semula data bagi pengguna yang berada dalam talian dalam julat tarikh tertentu. Walau bagaimanapun, anda ingin memasukkan nilai lalai dalam keadaan IN untuk ID pengguna yang tidak sepadan dengan syarat julat tarikh.

Soalan

Pertanyaan ringkas di bawah menggunakan gabungan kiri untuk memadankan penggunaan dalam talian dengan ID pengguna. Walau bagaimanapun, ia hanya mengembalikan rekod yang sepadan dengan kriteria julat tarikh.

<code class="language-sql">SELECT users.Name, users.ID, SUM(users.Minutes) AS MinutesOnline
FROM UserTable
LEFT JOIN OnlineUseage ON OnlineUseage.ID = UserTable.ID
WHERE OnlineUseage.Date >= '2016-01-01 00:00:00' AND OnlineUseage.Date < '2016-01-31 00:00:00';</code>
Salin selepas log masuk

Penyelesaian

Untuk memasukkan nilai lalai, letakkan syarat julat tarikh dalam klausa FROM:

<code class="language-sql">SELECT
    users.Name,
    users.ID,
    IFNULL(SUM(users.Minutes), 0) AS MinutesOnline
FROM
    users
LEFT JOIN OnlineUseage ON
        OnlineUseage.ID = users.ID and
        OnlineUseage.Date >= '2016-01-01 00:00:00' AND
        OnlineUseage.Date < '2016-01-31 00:00:00';</code>
Salin selepas log masuk

Ini memastikan bahawa semua ID pengguna disertakan dalam keadaan IN dapatkan semula, tidak kira sama ada ia sepadan dengan keadaan julat tarikh. IFNULL digunakan untuk memberikan nilai lalai 0 untuk pengguna tanpa data penggunaan dalam talian.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Nilai Lalai dalam Pertanyaan IN untuk Data Julat Tarikh yang Hilang?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan