2010-08-31 70 views
1

在日期列(login_time)的mysql表中,我需要獲取mysql中的日期差異

的最近30天(最近60天)的登錄信息。

有沒有辦法做到這一點?

謝謝。

+0

預期產出的例子?表格中的其他列也是如此,請... – 2010-08-31 20:45:37

+0

我正在嘗試使用login_time列在過去60天內記錄最近30天內的用戶。 – Sharpeye 2010-08-31 21:04:37

回答

4

這會給你從表中的行,其中login_time是內過去60天:

SELECT * FROM table WHERE login_time >= SUBDATE(CURDATE(),INTERVAL 60 DAY) 

同樣用30天。

+0

請注意addDate(3x'D')和60'DAY'(不是「dayS」) – Piskvor 2010-08-31 20:49:54

+0

謝謝,它會給我登錄用戶的最近30天的login_time嗎? – Sharpeye 2010-08-31 21:04:14

+1

不好,因爲查詢優化器不能使用login_time的索引,並且需要每條記錄的算術運算。更好地應用adddate到curdate() – burnall 2010-09-01 07:17:46