【发布时间】:2018-07-24 14:11:35
【问题描述】:
我正在尝试在**Date_Enter,Date_Process,Date_Shipment** 中获取具有最高列的**ID_RE**
例如,这里有一个三行。
- **1,2012-02-01,2016-02-01,2015-02-01,Send for MX4343**
- **2,2013-02-01,2008-04-01,2009-02-01,It's For trade**
- **3,2018-02-01,2019-05-01,2007-02-01,Like a environment**
这是最高的:
3,2018-02-01,2019-05-01,2007-02-01,Like a environment
我一直在尝试这个:
SELECT
MAX(Date_Enter),
MAX(Date_Process),
MAX(Date_Shipment),
Description
FROM Reports
但是,不行
CREATE TABLE [dbo].[Reports](
[ID_RE] [int] IDENTITY(1,1) NOT NULL,
[Date_Enter] [datetime] NOT NULL,
[Date_Process] [datetime] NOT NULL,
[Date_Shipment] [varchar](20),
[Description] [varchar](20)
CONSTRAINT [PK_Reports] PRIMARY KEY CLUSTERED
(
[ID_RE] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
这里有一些信息
insert into Reports(Date_Enter,Date_Process,Date_Shipment,Description) values('2012-02-01 02:25:23','2016-02-01 08:45:23','2015-02-01 05:35:23','Send for MX4343')
insert into Reports(Date_Enter,Date_Process,Date_Shipment,Description) values('2013-02-01 01:52:23','2008-04-01 12:45:23','209-02-01 07:35:43','It is For trade')
insert into Reports(Date_Enter,Date_Process,Date_Shipment,Description) values('2018-02-01 04:34:33','2019-05-01 04:35:44','2007-02-01 09:35:09','Like a environment')
【问题讨论】:
-
最高是在哪一天决定的??你有三个日期
-
根据您的结果,您只需
select top 1 * from tableName order by ID_RE Desc。根据您的要求按列替换顺序 -
试试这个?:SELECT ID_RE FROM Reports where Date_Enter=(select MAX(Date_Enter) FROM Reports)
-
附注 - 正如问题标签所反映的,人们仍在使用 SQL Server 2005,这真的让我感到惊讶。甚至对 SQL Server 2005 的扩展支持也于 16 年 4 月结束,如 here 所述。请考虑使用此软件的一些较新版本以保持最新状态。
-
@PSK 三列 Date_Enter,Date_Process,Date_Shipment
标签: sql sql-server sql-server-2005