我想获得最大日期值(例如,只是2014年的结果),但如果我从group_by中删除water_type,则会出现错误,而字段不属于聚合。
示例:
此查询:
SELECT Location_Code, water_type, max(Sampled_Date_Time) as maxdate
FROM [LChem1_Chemistry] lc1
where Location_Code = 'mb340'
and water_type is not null
group by Location_Code, water_type
得到这个:
Location_Code water_type maxdate
MB340 Group2 2013-09-27 14:00:00
MB340 SubGroup2 2014-03-04 00:00:00
但是我只想要2014年的结果(但是在结果表中保留water_type。
感谢
实际上这是输入数据的一个更好的例子:
Location_Code water_type maxdate
MB117 Group2 2/07/2012 12:58
MB331 Group2 28/02/2013 0:00
MB340 Group2 27/09/2013 14:00
MB340 SubGroup2 4/03/2014 0:00
MB117 Group2 3/07/2012 12:58
MB331 Group2 28/05/2013 0:00
我想要第5,7行和第5行结果表中有2个。
答案 0 :(得分:0)
如果您尝试此查询该怎么办:
SELECT Location_Code, water_type, Sampled_Date_Time
FROM [LChem1_Chemistry] lc1
WHERE Location_Code = 'mb340'
AND water_type is not null
ORDER BY Sampled_Date_Time DESC
LIMIT 1
答案 1 :(得分:0)
您是否只需要一行或仅来自2014年的行
如果它只是2014年的行,那么您可以添加where子句。
如果你只想要顶行,那么你可以有一个内部查询来返回你想要的water_type,并在outer_query中使用它只返回一行