Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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返回每个唯一项的最小值和最大值_Mysql - Fatal编程技术网

MySQL返回每个唯一项的最小值和最大值

MySQL返回每个唯一项的最小值和最大值,mysql,Mysql,我有一个名为scheduleData的表,其中包含以下列: ID | CREATED (time stamp) | CLIENT | PROJECT | RESOURCE | EFFORT | WEEK (date) 数据直接来自“Excel计划”,因此它不是相关的。 每一行代表一个资源,该资源在特定的一周内预定在特定的项目上 每次从excel导出数据时,大部分数据都是重复的,因此我只对基于创建列的最新数据集感兴趣 对于每个项目,我希望返回一行,显示最新数据集(基于创建的)内的最小周和最大周,

我有一个名为scheduleData的表,其中包含以下列:

ID | CREATED (time stamp) | CLIENT | PROJECT | RESOURCE | EFFORT | WEEK (date)
数据直接来自“Excel计划”,因此它不是相关的。 每一行代表一个资源,该资源在特定的一周内预定在特定的项目上

每次从excel导出数据时,大部分数据都是重复的,因此我只对基于创建列的最新数据集感兴趣

对于每个项目,我希望返回一行,显示最新数据集(基于创建的)内的最小周和最大周,以基本上确定每个项目的开始和结束日期

在下面的示例中发现了一个错误消息,从描述中可以看出它似乎起到了作用,但当我尝试执行它时,会收到错误消息

SELECT t.* FROM scheduleData  t
JOIN 
( SELECT project, MIN(week) minVal
FROM scheduleData  GROUP BY project
) t2
ON t.week = t2.minVal AND t.project = t2.project;
采用以下示例:

干杯,
米凯尔

当我以新的眼光看待这件事时,意识到我只是有点糊涂,我的问题有点垃圾。无论如何,我已经设法调整了查询,使其完全符合我的要求,即返回任何给定唯一项(在本例中为项目)的最大值和最小值(在本例中为日期)。 用于此操作的SQL如下所示:

SELECT DISTINCT(t.week), t.project, t.client 
FROM scheduleData  t
JOIN 
( SELECT project, MIN(week) AS minVal, MAX(week) as maxVal 
FROM scheduleData  GROUP BY project) t2
ON ( t.date = t2.minVal OR t.date = t2.maxVal) AND t.project = t2.project

您需要将“AS”添加到MIN(week)minVal中,使其显示为“MIN(week)AS minVal”。此问题缺少某些内容。你认为那可能是什么?另外,请参见