0

我阅读了许多主题以获取在不同时期发布的数据,但由于我的 mysql 表中的时间是 STRING 格式,我无法实现它。

SELECT s.user_id, count(*) AS wins, u.username, u.avatar,u.avatar_uploaded
            FROM on_scores AS s
            LEFT JOIN on_users AS u ON (u.userid = s.user_id)
            WHERE s.is_high = '1' AND  DATE(s.date_score)  >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
                        GROUP BY s.user_id
            ORDER BY wins DESC
            LIMIT 10

我尝试了该STR_TO_DATE方法,但仍然没有输出。

4

1 回答 1

0

使用该from_unixtime函数将时间转换为类似日期的格式。

更多信息在这里

有关格式化结果日期的信息 -此处

例子:

select date_sub( from_unixtime( s.datescore ), INTERVAL 1 MONTH ) as monthfromdatevalue;
select datediff( from_unixtime( s.datescore, curdate()) as howlongago_fromtoday;
于 2013-07-03T16:23:09.427 回答