获取日期时间戳为30天或更高的mysql行

获取日期时间戳为30天或更高的mysql行,mysql,Mysql,我正在尝试使用以下sql获取过去30天中的大量mysql行: SELECT * FROM `articles` WHERE date >= DATE(NOW() - INTERVAL 30 DAY) ORDER BY `views` DESC 很明显,我做错了什么,因为这是去年的结果 gmt时间戳中的“我的日期”字段。请尝试: SELECT * FROM `articles` WHERE date >= CURDATE() - INTERVAL 30 DAY ORDER BY `

我正在尝试使用以下sql获取过去30天中的大量mysql行:

SELECT * FROM `articles` WHERE date >= DATE(NOW() - INTERVAL 30 DAY) ORDER BY `views` DESC
很明显,我做错了什么,因为这是去年的结果

gmt时间戳中的“我的日期”字段。

请尝试:

SELECT * FROM `articles` WHERE date >= CURDATE() - INTERVAL 30 DAY 
ORDER BY `views` DESC
尝试:

尝试:

尝试:


如果您的日期字段不是
DATETIME
TIMESTAMP
date
字段类型(正如我认为您用“在GMT时间戳中”表示的那样”-我怀疑您存储的是整数本身),您将无法进行这样的比较。您还需要将30天前的日期转换为时间戳

WHERE date >= UNIX_TIMESTAMP(DATE(NOW() - INTERVAL 30 DAY))

如果您的日期字段不是
DATETIME
TIMESTAMP
date
字段类型(正如我认为您用“在GMT时间戳中”表示的那样”-我怀疑您存储的是整数本身),您将无法进行这样的比较。您还需要将30天前的日期转换为时间戳

WHERE date >= UNIX_TIMESTAMP(DATE(NOW() - INTERVAL 30 DAY))

如果您的日期字段不是
DATETIME
TIMESTAMP
date
字段类型(正如我认为您用“在GMT时间戳中”表示的那样”-我怀疑您存储的是整数本身),您将无法进行这样的比较。您还需要将30天前的日期转换为时间戳

WHERE date >= UNIX_TIMESTAMP(DATE(NOW() - INTERVAL 30 DAY))

如果您的日期字段不是
DATETIME
TIMESTAMP
date
字段类型(正如我认为您用“在GMT时间戳中”表示的那样”-我怀疑您存储的是整数本身),您将无法进行这样的比较。您还需要将30天前的日期转换为时间戳

WHERE date >= UNIX_TIMESTAMP(DATE(NOW() - INTERVAL 30 DAY))
试试这个:

SELECT * 
FROM `articles` 
WHERE date >= DATE_SUB(NOW(),INTERVAL 30 DAY) 
ORDER BY `views` DESC
试试这个:

SELECT * 
FROM `articles` 
WHERE date >= DATE_SUB(NOW(),INTERVAL 30 DAY) 
ORDER BY `views` DESC
试试这个:

SELECT * 
FROM `articles` 
WHERE date >= DATE_SUB(NOW(),INTERVAL 30 DAY) 
ORDER BY `views` DESC
试试这个:

SELECT * 
FROM `articles` 
WHERE date >= DATE_SUB(NOW(),INTERVAL 30 DAY) 
ORDER BY `views` DESC