Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL选择过去的日期:MAX和GROUP BY存在问题_Mysql_Datetime_Group By_Max - Fatal编程技术网

MySQL选择过去的日期:MAX和GROUP BY存在问题

MySQL选择过去的日期:MAX和GROUP BY存在问题,mysql,datetime,group-by,max,Mysql,Datetime,Group By,Max,所以,我现在要做的查询如下: SELECT `jid`, MAX(`start`) as `start` FROM `dates` WHERE `start` < NOW() GROUP BY `jid` 选择'jid',MAX('start`)作为'start',从'dates'开始,其中'start`

所以,我现在要做的查询如下:

SELECT `jid`, MAX(`start`) as `start` FROM `dates` WHERE `start` < NOW() GROUP BY `jid`
选择'jid',MAX('start`)作为'start',从'dates'开始,其中'start`
dates
基本上包含与作业关联的日期时间值
start

正如您可能猜到的,
jid
是作业的id,存储在另一个表中。
一个作业可以有许多日期

我想做的是找出哪些工作的开始日期都在过去

我的想法是选择
start
日期的最高值,按
jid
分组,如果它们是过去的,则意味着与同一工作相关的所有其他日期也都是过去的

此查询不起作用,因为它正在检查过去的开始日期,然后选择其中最高的日期。这并不排除在将来为同一份工作安排另一次约会的可能性

我不知道现在该怎么办。任何帮助或线索都将不胜感激


干杯-汤姆

你必须使用:

SELECT jid, MAX(start) as start
FROM dates
GROUP BY jid
HAVING MAX(start) < NOW();
选择jid,MAX(开始)作为开始
从日期开始
吉德集团
具有MAX(start)
有点像在哪里。在选中行后,它会过滤掉这些行。通常(实际上,我想不出任何其他情况),您只使用have和聚合函数


(不过,我希望您真的在表中插入了未来的日期!)

谢谢,还有一个问题,您为什么说希望我的表中有未来的日期?否则,这将不会返回任何结果(如果您有过去的日期)