Rumah >pangkalan data >tutorial mysql >Bagaimana untuk menanyakan data minggu lalu dalam mysql

Bagaimana untuk menanyakan data minggu lalu dalam mysql

WBOY
WBOYasal
2022-03-31 18:28:309862semak imbas

Dalam mysql, anda boleh menggunakan pernyataan pilih untuk menanyakan data untuk minggu lalu Sintaksnya ialah "pilih * dari jadual di mana DATE_SUB(CURDATE(), INTERVAL 7 DAY)

Bagaimana untuk menanyakan data minggu lalu dalam mysql

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.

Cara untuk menanyakan data minggu lalu dengan mysql

Sintaks adalah seperti berikut:

select * from table  where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(column_time);

Kembangkan pengetahuan:

Pertanyaan untuk satu hari:

select * from table where to_days(column_time) = to_days(now());
select * from table where date(column_time) = curdate();

Pertanyaan selama sebulan:

select * from table  where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1 MONTH) <= date(column_time);

Contohnya adalah seperti berikut:

Kesannya adalah seperti yang ditunjukkan dalam pernyataan SQL di sini Julat minggu merujuk kepada Isnin hingga Ahad, Isnin adalah hari pertama dalam minggu Memandangkan pertanyaan dijalankan pada 11 Ogos, hanya keputusan dari Isnin hingga Sabtu dipaparkan):

Bagaimana untuk menanyakan data minggu lalu dalam mysql

Kalendar:

Bagaimana untuk menanyakan data minggu lalu dalam mysql

Ringkasnya, gunakan tarikh hari ini untuk menjana tarikh sebelumnya tujuh hari (menggunakan perintah semua kesatuan), dan sikat pemilihan berdasarkan syarat tarikh hari Isnin Dapatkan tarikh minggu ini

        SELECT  DATE(subdate(curdate(),date_format(curdate(),'%w')-1)) as thisweek  
        union all  
        SELECT  DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 1 day)) as thisweek  
        union all  
        SELECT  DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 2 day)) as thisweek  
        union all  
        SELECT  DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 3 day)) as thisweek  
        union all  
        SELECT  DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 4 day)) as thisweek  
        union all  
        SELECT DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 5 day)) as thisweek  
        union all  
        SELECT DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 6 day)) as thisweek

Bagaimana untuk menanyakan data minggu lalu dalam mysql

Analisis:

SELECT DATE(subdate(curdate(),date_format(curdate(),’%w’)-1))

Apa yang anda dapat ialah hari pertama minggu ini (Isnin hingga Ahad adalah seminggu );

Atas ialah kandungan terperinci Bagaimana untuk menanyakan data minggu lalu dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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