sql 取极值

来源:百度知道 编辑:UC知道 时间:2024/09/22 14:29:47
做数据库查询,从对两个表进行查询
一个表里取一个字段(Min_Visibility)的最大值,并取出对应的Station_ID和转化后的时间(LEFT(convert(char(100), Min_Visibility_Time, 8), 5 ))
另一个表是找出与Station_ID相同的StationID对应的站的名称StationName

在数据库查询中输入以下语句:
SELECT StationName, Station_ID, Date_Time, max(Min_Visibility) ,LEFT(convert(char(100), Min_Visibility_Time, 8), 5 ) as Min_Visibility_Time FROM [QXDB].[dbo].[Surface_Element_temp],[QXDB].[dbo].[StationS] WHERE Date_Time between '2008-5-7 21:00:00' and '2008-05-8 20:00:00' and Surface_Element_temp.Station_ID = StationS.StationID order by Station_ID,Date_Time

但是总显示出错...
错误提示:选择列表中的列 'QXDB.dbo.StationS.StationName' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
希望大家能够帮忙看看
谢谢了

SELECT StationName, Station_ID, Date_Time, max(Min_Visibility) ,LEFT(convert(char(100), Min_Visibility_Time, 8), 5 ) as Min_Visibility_Time FROM [QXDB].[dbo].[Surface_Element_temp],[QXDB].[dbo].[StationS] WHERE Date_Time between '2008-5-7 21:00:00' and '2008-05-8 20:00:00' and Surface_Element_temp.Station_ID = StationS.StationID GROUP BY StationName, Station_ID, Date_Time order by Station_ID,Date_Time

你上面用了聚合MAX.

你这个查询中没有GROUP BY语句啊

我也想学习