mysql - 在Mysql中获取最近一天、一周、一个月和一年的数据

标签 mysql date

我阅读了很多主题来获取不同时期发布的数据,但由于我的 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方法,但仍然没有输出。

最佳答案

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

更多信息here .

有关格式化结果日期的信息 - here .

示例:

select date_sub( from_unixtime( s.datescore ), INTERVAL 1 MONTH ) as monthfromdatevalue;
select datediff( from_unixtime( s.datescore, curdate()) as howlongago_fromtoday;

关于mysql - 在Mysql中获取最近一天、一周、一个月和一年的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17453072/

相关文章:

mysql - 生成随机时间

android - 格式化 System.currentTimeMillis()

javascript - Date() 结果不正确

javascript - 两个 Javascript 日期变量

java - 不同年份的两个日期之间的差异

java - 有没有一种简单的方法可以在 Java 中计算和格式化时间/日期间隔?

mysql - Laravel 5 Connection.php 中的 QueryException 第 673 行 :

php - #1064 尝试在线导出本地主机数据库时出现错误消息

mysql - 无法弄清楚我在双重否定查询(mysql)中出了什么问题

php - 跨应用程序处理自然 JOINed 结果的良好实践