2012-01-20 19 views
25

Tablodaki girişlerin son 6 ayını seçmeye çalışıyorum, datetime adında bir sütunu var ve bu datetime mysql biçimindedir.MySQL kullanarak son 6 ayda haber tablosunu seçme

Aralığını ve diğer yöntemleri kullanmanın birçok yolunu gördüm - hangi yöntemi kullanmalıyım? Teşekkür

+3

büyük olacak: -

Sadece ilgimi herhangi biri varsa, benim çözüm paylaşmak istiyorum onu çevrelemek için kullanmam gerekecek. datetime ayrılmış bir kelimedir. Pablo'nun cevabı, x_sperifield 'inin bulunduğu yerde çalışacaktır,' datetime 'karakterini doğru kaçış karakterine koymanız gerekebilir. – xQbert

cevap

79

Kullanım DATE_SUB

.... where yourdate_column > DATE_SUB(now(), INTERVAL 6 MONTH) 
+0

DATE_SUB() işlevi, verilen tarih aralığını çıkarır. Bu durumda "şimdi() - 6 ay". – prageeth

+0

DATE_SUB() 'işlevinin içinde,' '()' yerine 'now()' ?? kullanabilir miyim? Çünkü benzer bir durumla karşı karşıyayım ve son 6 aydaki verileri bugünkü tarih yerine tarih sütununda bulunan son tarihten itibaren kontrol etmeliyim. – LearneR

11

bu deneyin:

select * 
    from table 
where your_dt_field >= date_sub(now(), interval 6 month); 

Sorgu okur: giriş tarihine karşılık gelen alan 6 aydan daha yeni olduğu table bana tüm girişleri ver.

+0

your_dt_field bu format ne olacak? Aynı zamanda o sistemde nasıl kullanılabilirler geçerli tarih –

1

Ben, satış 6 ay geçen (toplamını) gösterilecek user319198 cevap @ çalıştı işe yaradı ama eski ayda bir sorunla karşı karşıya i satış miktarını alamadım tüm ay. Sonuç o ayın eşdeğer gününden başlar. Herkes benim durum için iyi bir çözüm varsa saha gerçekten datetime sizi çağrılıp çağrılmadığını

Ayrıca
yourdate_column > DATE_SUB(now(), INTERVAL 7 MONTH) 
limit 6 

o J.

İlgili konular