2009-09-24 14 views
34

Jak wybrać dane z ostatniej daty tabeli mysql do bieżącej daty? Na przykład Wybierz dane od 1 stycznia 2009 r. Do bieżącej daty?Wybierz zapytanie mysql między datą?

Moja kolumna "datetime" jest typu daty i godziny. Proszę o pomoc, dzięki

Edit:

Jeśli powiedzmy chcę, aby dzień w dzień danych z 1 stycznia 2009 roku, jak napisać kwerendę? Użyj liczby i pomiędzy funkcjami?

Odpowiedz

54
select * from *table_name* where *datetime_column* between '01/01/2009' and curdate() 

lub używając >= i <=:

select * from *table_name* where *datetime_column* >= '01/01/2009' and *datetime_column* <= curdate() 
+0

Cool. To działa. OSTATECZNE pytanie: jeśli chcę wyświetlać dane dziennie od 01.01.2009, czy muszę używać funkcji liczenia? Masz pomysł, jak zaimplementować? –

+0

Możesz użyć "group by" i "order by", tak: wybierz * z [table_name] gdzie [datetime_column] między '01/01/2009 'i curdate() grupy przez [datetime_column] zamówienia przez [datetime_column] –

+0

próbowałem to: SELECT *, count (*) z tabeli WHERE datetime MIĘDZY "2009-01-01" I "2009-09-01" GROUP BY datetime; ale liczba jest równa 1. powinna wynosić 10, 5, 8 itd. –

12

Można użyć now() jak:

Select data from tablename where datetime >= "01-01-2009 00:00:00" and datetime <= now(); 
19

wszystkich powyższych prac, a tu jest inny sposób, jeśli chcesz po prostu liczba dni/czas wstecz raczej data wprowadzenia

select * from *table_name* where *datetime_column* BETWEEN DATE_SUB(NOW(), INTERVAL 30 DAY) AND NOW() 
+0

To jest całkiem miłe! – frankster

+0

Ten działa świetnie! – lucasarruda