我在查询时遇到问题,我正试图使用max(DATE)过滤掉所有重复的行。
我的查询如下-
$sql = "select COND_CODE,COUNT(*) as COUNT, COND_CODE, MAX(DATE) from downgrades
WHERE (
SELECT MAX(DATE) BETWEEN '15/05/2014 05:19' AND '30/05/2014 12:34' from downgrades)
GROUP BY COND_CODE";
查询正在提取数据,但它实际给出的唯一结果是表中的最后一个日期。
COND_CODE DATE
SW 21/05/2014 07:57
SW 21/05/2014 07:59
SW 22/05/2014 09:05
SW 22/05/2014 09:06
SM 27/05/2014 06:49
SM 27/05/2014 06:49
SM 30/05/2014 05:18
上述查询只会给出一个结果——SM 30/05/2014 05:18。
我需要它通过过滤最新日期来显示每个COND_CODE的最新结果。
所以理想情况下,我会得到SM 30/05/2014 05:18&SW 2014年5月22日上午09:06
希望这是有道理的,
感谢
这样?
SELECT COND_CODE,COUNT(*) as COUNT, COND_CODE, MAX(DATE)
FROM downgrades
GROUP BY COND_CODE
HAVING MAX(DATE) BETWEEN '15/05/2014 05:19' AND '30/05/2014 12:34'