[英]Less equal than specific date query not working on equal date
我有這個查詢:
SELECT COUNT(a.No_Registrasi) as Jumlah, b.Nama_Negara, a.Tanggal_Reg
FROM tb_registrasi a
JOIN tb_negara_tujuan b
ON a.ID_Negara = b.ID_Negara
WHERE a.Tanggal_Reg >= '2016-02-01' AND a.Tanggal_Reg <= '2016-03-01'
GROUP BY b.Nama_Negara
但是當即時消息更改為:
SELECT COUNT(a.No_Registrasi) as Jumlah, b.Nama_Negara, a.Tanggal_Reg
FROM tb_registrasi a
JOIN tb_negara_tujuan b
ON a.ID_Negara = b.ID_Negara
WHERE a.Tanggal_Reg >= '2016-02-01' AND a.Tanggal_Reg <= '2016-02-29' //this one
GROUP BY b.Nama_Negara
它沒有顯示任何結果,我試圖從兩個不同的日期之間選擇數據,但是當月末該日期有數據時,它沒有顯示該數據。 說我有5個數據注冊到2016年4月30日,當我從2016-04-01到2016-04-30選擇數據時,它沒有顯示任何結果。
希望大家明白我的意思,在此先感謝。
將DATE
函數應用於列
WHERE DATE(a.Tanggal_Reg) >= '2016-02-01' AND DATE(a.Tanggal_Reg) <= '2016-02-29'
或之間使用
WHERE DATE(a.Tanggal_Reg) BETWEEN '2016-02-01' AND '2016-02-29'
因此,您的查詢將是:
SELECT COUNT(a.No_Registrasi) as Jumlah, b.Nama_Negara, a.Tanggal_Reg
FROM tb_registrasi a
JOIN tb_negara_tujuan b
ON a.ID_Negara = b.ID_Negara
WHERE DATE(a.Tanggal_Reg) >= '2016-02-01' AND DATE(a.Tanggal_Reg) <= '2016-02-29' //this one
GROUP BY b.Nama_Negara
或之間
SELECT COUNT(a.No_Registrasi) as Jumlah, b.Nama_Negara, a.Tanggal_Reg
FROM tb_registrasi a
JOIN tb_negara_tujuan b
ON a.ID_Negara = b.ID_Negara
WHERE DATE(a.Tanggal_Reg) BETWEEN '2016-02-01' AND '2016-02-29'
GROUP BY b.Nama_Negara
您是否嘗試過以下查詢?
SELECT COUNT(a.No_Registrasi) as Jumlah, b.Nama_Negara, a.Tanggal_Reg
FROM tb_registrasi a
JOIN tb_negara_tujuan b
ON a.ID_Negara = b.ID_Negara
WHERE a.Tanggal_Reg >= '2016-02-01 00:00:00' AND a.Tanggal_Reg <= '2016-02-29 23:59:59'
GROUP BY b.Nama_Negara
您也可以使用BETWEEN
作為
SELECT COUNT(a.No_Registrasi) as Jumlah, b.Nama_Negara, a.Tanggal_Reg
FROM tb_registrasi a
JOIN tb_negara_tujuan b
ON a.ID_Negara = b.ID_Negara
WHERE a.Tanggal_Reg BETWEEN '2016-02-01 00:00:00' AND '2016-02-29 23:59:59'
GROUP BY b.Nama_Negara
我認為您有一個小時的問題。 SQL在2016-02-01 00:00:00和2016-02-29 00:00:00之間獲取數據。 要獲得一個月的數據,您可以在第二天獲得如下數據:
WHERE a.Tanggal_Reg >= '2016-02-01' AND a.Tanggal_Reg <= '2016-03-01'
或者,您可以嘗試花幾個小時查詢:
SELECT COUNT(a.No_Registrasi) as Jumlah, b.Nama_Negara, a.Tanggal_Reg
FROM tb_registrasi a
JOIN tb_negara_tujuan b
ON a.ID_Negara = b.ID_Negara
WHERE a.Tanggal_Reg >= '2016-02-01 00:00:00' AND a.Tanggal_Reg <= '2016-02-29 23:59:59'
GROUP BY b.Nama_Negara
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.