Mysql 如何在一个字段中获得最大时间和最小时间?
我想问一下mysql查询 我有这样的表格数据 我的数据Mysql 如何在一个字段中获得最大时间和最小时间?,mysql,sql,time,max,min,Mysql,Sql,Time,Max,Min,我想问一下mysql查询 我有这样的表格数据 我的数据 `userid | time| date 609 | 07:56:31|2014-01-23 609 | 21:20:47|2014-01-23 609 | 17:25:27|2014-01-24 609 | 17:25:29|2014-01-24 609 | 17:13:54|2014-01-27 609 | 17:13:56|2014-01-27 609 | 07:55:09|2014-01-27` 我试过各种方法
`userid | time| date
609 | 07:56:31|2014-01-23
609 | 21:20:47|2014-01-23
609 | 17:25:27|2014-01-24
609 | 17:25:29|2014-01-24
609 | 17:13:54|2014-01-27
609 | 17:13:56|2014-01-27
609 | 07:55:09|2014-01-27`
我试过各种方法
但都没有成功
像
规则
有人能帮我吗……:(谢谢。提前……你试过群舞吗
SELECT user_id, date, GROUP_CONCAT(time) as in_out FROM data GROUP BY date ORDER BY date,time;
这不是你所需要的100%,但可能已经足够接近了?我认为这正是你想要的,与你的答案不完全一样,但我认为这是正确的
您需要加入一个包含该用户id的所有唯一日期的列表,然后使用该列表按时间分组并获取min()和max()
select t1.userid,
t2.date,
min(t1.time) as in_time,
max(t1.time) as out_time
from test t1
join (select distinct date from test where userid = 609) t2
where t1.date = t2.date
and userid = 609
group by t1.userid, t2.date;
我还想说的是,与其使用日期和时间,不如只存储datetime,然后通过选择日期部分的函数进行分组
时钟输入和时钟输出的规则是什么?在输出中有输入数据中没有的日期(25和26),是输出日历样式吗?对不起,我的描述不完整…时钟输入的规则=where time>='10:01'和时钟输出@AndreasWederbrand,,,,,有很多人需要帮助。。。
userid|date |clock_in | clock_out
609 |2014-01-23 |07:56 |21:20
609 |2014-01-24 | |17:25
609 |2014-01-25 | |
609 |2014-01-26 | |
609 |2014-01-27 |07:55 |17:13
SELECT user_id, date, GROUP_CONCAT(time) as in_out FROM data GROUP BY date ORDER BY date,time;
select t1.userid,
t2.date,
min(t1.time) as in_time,
max(t1.time) as out_time
from test t1
join (select distinct date from test where userid = 609) t2
where t1.date = t2.date
and userid = 609
group by t1.userid, t2.date;