现有一个表,字段如下:
CREATE TABLE [JC_PassStation] (
[RBCode] [varchar] (5) 主键,班次(例如gz001,gz002)
[TSCode] [varchar] (5) 主键,到达站(例如广州,深圳,东莞)
[ArriveOrder] [int] (0),到站顺序(例如,1,2,3,4,7,8)
[Carfare] [money]
----------------------
我想从这个表中选择班线最后到达的站点(也就是数字ArriveOrder最大的)的记录。
例如表中的记录如下:(其中ArriveOrder不一定是由按顺序逐1递增,有可能是1,2,6;2,5,8;3,9,10),总之就要取最大值。
RBCODE,TSCODE,ArriveOrder
GZ001,市桥,1
GZ001,广州,2
SZ001,太平,1
SZ001,虎门,2
SZ001,樟木头,3
SZ001,惠州,5
XH001,古井,2
XH001,新会,7
-------------
我要选择的是
GZ001,广州,2
SZ001,惠州,5
XH001,新会,7请指教?
CREATE TABLE [JC_PassStation] (
[RBCode] [varchar] (5) 主键,班次(例如gz001,gz002)
[TSCode] [varchar] (5) 主键,到达站(例如广州,深圳,东莞)
[ArriveOrder] [int] (0),到站顺序(例如,1,2,3,4,7,8)
[Carfare] [money]
----------------------
我想从这个表中选择班线最后到达的站点(也就是数字ArriveOrder最大的)的记录。
例如表中的记录如下:(其中ArriveOrder不一定是由按顺序逐1递增,有可能是1,2,6;2,5,8;3,9,10),总之就要取最大值。
RBCODE,TSCODE,ArriveOrder
GZ001,市桥,1
GZ001,广州,2
SZ001,太平,1
SZ001,虎门,2
SZ001,樟木头,3
SZ001,惠州,5
XH001,古井,2
XH001,新会,7
-------------
我要选择的是
GZ001,广州,2
SZ001,惠州,5
XH001,新会,7请指教?
FROM JC_PassStation
Group by RBCode, TSCode
group by RBCODE,TSCODE
--建立测试环境
CREATE TABLE [JC_PassStation] (
[RBCode] varchar(5),
[TSCode] varchar(10),
[ArriveOrder] int,
[Carfare] money
)
insert into JC_PassStation(RBCode,TSCode,ArriveOrder)
select 'GZ001','市桥',1
union select
'GZ001','广州',2
union select
'SZ001','太平',1
union select
'SZ001','虎门',2
union select
'SZ001','樟木头',3
union select
'SZ001','惠州',5
union select
'XH001','古井',2
union select
'XH001','新会',7
--代码select rbcode,tscode,arriveorder from jc_passstation a where arriveorder=(select max(arriveorder) from jc_passstation where
rbcode=a.rbcode)--删除测试环境
drop table JC_PassStation
rbcode tscode arriveorder
------ ---------- -----------
XH001 新会 7
SZ001 惠州 5
GZ001 广州 2