关于group by查询得到分组后每组的最小值的记录
ID 手机型号 价格 时间
----------------------------------------------------------------------
1 philips 625 1400 2003-1-1
2 philips 625 1200 2003-3-1
3 philips 625 1000 2003-6-1
4 NOKIE 8250 1800 2002-1-1
5 NOKIE 8250 1600 2002-6-1
6 NOKIE 8250 1400 2002-12-1
7 NOKIE 8210 1500 2001-1-1
8 NOKIE 8210 1200 2001-6-1
9 NOKIE 8210 1000 2001-12-1
目的:提取每款手机价格最低的那条记录的信息
希望得到的查询结果:
ID 手机型号 价格 时间
--------------------------------------------------------------------
3 philips 625 1000 2003-6-1
6 NOKIE 8250 1400 2002-12-1
9 NOKIE 8210 1000 2001-12-1
问题:请问如何实现这个查询?
为方便测试,以下是创建表的脚本。
===============================================================================
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Phone]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Phone]
GO
CREATE TABLE [dbo].[Phone] (
[ID] [bigint] NOT NULL ,
[Model] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Rate] [numeric](18, 0) NULL ,
[dDate] [datetime] NULL
) ON [PRIMARY]
GO
insert into phone values(1,'philips 625',1400,'2003-1-1')
insert into phone values(2,'philips 625',1200,'2003-3-1')
insert into phone values(3,'philips 625',1000,'2003-6-1')
insert into phone values(4,'NOKIE 8250',1800,'2002-1-1')
insert into phone values(5,'NOKIE 8250',1600,'2002-6-1')
insert into phone values(6,'NOKIE 8250',1400,'2002-12-1')
insert into phone values(7,'NOKIE 8210',1500,'2001-1-1')
insert into phone values(8,'NOKIE 8210',1200,'2001-6-1')
insert into phone values(9,'NOKIE 8210',1000,'2001-12-1')
===============================================================================