Mysql 为每个id选择最近的行
我有以下两个表一个是主表,第二个是明细表。 我需要详细信息表中最近的行,若详细信息表并没有相应行的详细信息,那个么它应该显示该id的空行和主表信息 我使用了下面的查询,但它没有给出所需的输出Mysql 为每个id选择最近的行,mysql,Mysql,我有以下两个表一个是主表,第二个是明细表。 我需要详细信息表中最近的行,若详细信息表并没有相应行的详细信息,那个么它应该显示该id的空行和主表信息 我使用了下面的查询,但它没有给出所需的输出 select st.Station_Id,st.id,st.StationType,st.stationname,st.Latitude,st.Longitude, max (pump.LastUpdate) 作为最新更新,每日抽水,从sgwebdb站抽水,水位为st 左外连接sgwebdb.pump\
select st.Station_Id,st.id,st.StationType,st.stationname,st.Latitude,st.Longitude, max (pump.LastUpdate)
作为最新更新,每日抽水,从sgwebdb站抽水,水位为st
左外连接sgwebdb.pump\u station\u数据作为st.station\u id上的泵=pump.station\u id
其中st.DeletionDate为null,st.stationtype='泵站'
按st.station_id分组
主表-站点
ID Station\u ID StationType StationName Lattude经度
1泵0泵站ABC 5.555 100.4578
2泵1泵站DEF 5.555 100.4578
3泵2泵站GHI 5.555 100.4578
4泵3泵站JKL 5.555 100.4578
5泵4泵站MNO 5.555 100.4578
6泵5泵站PQR 5.555 100.4578
7泵6泵站STU 5.555 100.4578
8泵7泵站VXY 5.555 100.4578
9泵8泵站ZAB 5.555 100.4578
10泵9泵站CDE 5.555 100.4578
11泵10泵站FGH 5.555 100.4578
12泵11泵站IJK 5.555 100.4578
13泵12泵站LMN 5.555 100.4578
14泵13泵站OPR 5.555 100.4578
15泵14泵站QST 5.555 100.4578
16泵15泵站UVW 5.555 100.4578
明细表名称:泵站数据`
id Station_id lastupdate hrl_abst daily_abst Water_Level
3 Pump15 2014-05-13 12:45:00 23 45 8
4 Pump0 2014-05-20 01:01:00 1 1 1
5 Pump0 2014-07-02 12:00:00 15.41 15.41 51.95
6 Pump0 2014-07-03 12:00:00 0.9 21.6 26.65
7 Pump1 2014-07-03 01:30:00 0 0 21.69
8 Pump0 2014-07-05 09:20:00 20 20 26.7535
9 Pump1 2014-07-05 11:25:00 20 20 21.69
10 Pump2 2014-07-05 15:10:00 20 20 9.4287
11 Pump3 2014-07-05 15:45:00 20 20 6.2608
12 Pump4 2014-07-05 13:25:00 20 20 2.2636
13 Pump5 2014-07-05 16:31:00 20 20 2.2832
14 Pump6 2014-07-05 16:38:00 20 20 2.1249
15 Pump7 2014-07-05 17:35:00 20 20 10
16 Pump8 2014-07-05 17:35:00 20 20 10
17 Pump9 2014-07-05 19:36:00 20 20 2.0994
18 Pump10 2014-07-05 19:55:00 20 20 2.112
19 Pump11 2014-07-05 20:15:00 20 20 2.1054
20 Pump12 2014-07-05 19:45:00 20 20 2.099
21 Pump13 2014-07-05 18:45:00 20 20 2.0994
22 Pump14 2014-07-05 16:45:00 20 20 10
23 Pump15 2014-07-05 16:45:00 20 20 2.1234
24 Pump16 2014-07-05 19:45:00 20 20 10
25 Pump17 2014-07-05 18:25:00 20 20 52.5678
26 Pump18 2014-07-05 18:50:00 20 20 42.0116
27 Pump19 2014-07-05 14:20:00 20 20 10
尝试以下sql:
select * from pump_station_data
where id in (
select max(id) from pump_station_data group by Station_id
)
order by Station_id;
对于第二个请求,请尝试以下操作:我假设您的主表为“station”,该表中station id的列名为“station\u id” 尝试以下sql:
select * from pump_station_data
where id in (
select max(id) from pump_station_data group by Station_id
)
order by Station_id;
对于第二个请求,请尝试以下操作:我假设您的主表为“station”,该表中station id的列名为“station\u id” 尝试以下sql:
select * from pump_station_data
where id in (
select max(id) from pump_station_data group by Station_id
)
order by Station_id;
对于第二个请求,请尝试以下操作:我假设您的主表为“station”,该表中station id的列名为“station\u id” 尝试以下sql:
select * from pump_station_data
where id in (
select max(id) from pump_station_data group by Station_id
)
order by Station_id;
对于第二个请求,请尝试以下操作:我假设您的主表为“station”,该表中station id的列名为“station\u id”
THX用于查询它正在工作。我需要一个更多的东西,我有一个主站表,我需要加入QueRe.基本上,这是站的主表。因此,如果任何泵站在上面表中没有值,那么它将从站表获取主细节并显示空白行。我们能做到吗?@ VIM是的,我想是这样,您可以通过sql或程序来完成,如果通过sql检查更新的答案,基本思想是使用right join,它将选择正确表中的任何行-Station.,它在“right”关键字附近给出错误。表示意外的right,并期望结束_Input@vim你在用什么数据库?@Vim我错了,join子句应该在where子句之前,请尝试更新后的sql.,thx查询它正在工作。我还需要一件事,我有一个站长站,从那里我需要加入Queer.基本上这是站长的表.所以如果任何一个泵站在上面的表中没有值,那么它将从站表中获取主数据并显示空白行.我们能做到吗?@ VIM是的,我想,你可以用SQL或程序来做,如果用SQL检查更新的答案,基本思想是使用right join,它将选择右侧表-Station中的任何行。它在“right”关键字附近给出错误。表示意外的right和预期的END__Input@vim您使用的是什么数据库?@Vim我的错误,join子句应该在where子句之前,请尝试更新的sql。,THX用于查询它正在工作。我需要一个更多的东西,我有一个站的主表,我需要加入QueRe.基本上,这是站的主表。所以如果任何一个泵站在上面的表中没有值,那么它将从站表中获取主细节并显示空白行。我们能做到吗?@ VIM是的,我想是这样。您可以通过sql或程序来完成,如果通过sql检查更新的答案,基本思想是使用right join,它将选择正确表中的任何行-Station.,它在“right”关键字附近给出错误。表示意外的right,并期望结束_Input@vim你在用什么数据库?@Vim我错了,join子句应该在where子句之前,请尝试更新后的sql.,thx查询它正在工作。我还需要一件事,我有一个站长站,从那里我需要加入Queer.基本上这是站长的表.所以如果任何一个泵站在上面的表中没有值,那么它将从站表中获取主数据并显示空白行.我们能做到吗?@ VIM是的,我想,你可以用SQL或程序来做,如果用SQL检查更新的答案,基本思想是使用right join,它将选择右侧表-Station中的任何行。它在“right”关键字附近给出错误。表示意外的right和预期的END__Input@vim你在用什么数据库?@Vim我错了,join子句应该在where子句之前,尝试更新的sql。请学习以良好的格式编辑问题,以便更多的人愿意回答,stackoverflow格式的使用很差,但使用起来却很简单。@flybird我正确地编辑了它,但在提交了所有格式之后,它以奇怪的格式出现了。有时我认为stackoverflow也可以改进编辑器。@flybird是的,绝对正确,这个编辑器有很多问题……请学习以良好的格式编辑问题,为了让更多的人愿意回答这个问题,stackoverflow格式的使用很差,但使用起来却很简单。@flybird我把它做得很好,但是在提交了所有的格式之后,它以奇怪的格式出现了。有时我认为stackoverflow可以提高