一个查最高值的 SQL 语句的问题。(81分)

  • 主题发起人 主题发起人 netabloid
  • 开始时间 开始时间
N

netabloid

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个表,有四个字段:id、price、type(类别)、note, ID 是唯一的,请查询出每一个的最高价的记录!
 
select type,Max(Price) as MaxPrice
from T
group by Type
 
select type,Max(Price) as MaxPrice
from T
group by Type
 
上面两位:
  我刚才没太说请楚,要把 id、price、type、note 这几项全部都查询出来!
显示结果应该像这样:
id price type note
---------- ------------ ---------- ----------
1 200 A 1111
 
Oracle这样可以,同时你的字段名称最好改一下,很多都象关键字?
Select id、price、type、note, ID
From Table1 a,(Select TYPE,Max(Price) Price From Table1 Group By TYPE) b
Where a.TYPE=b.TYPE and a.Price=b.Price
 
to yzhshi:
那在 SQL 里怎么查?
 
>>那在 SQL 里怎么查?
上面我写的就是一个SQL语句呀。
 
噢,明白了,你是说SQL Server里面的SQL语句,对吧?
基本和这个类似,大概应该可以。
大不了多两个as什么的。
 
Select a.id,a.price,a.type,a.note, ID
From Table1 a,(Select TYPE,Max(Price) as Price From Table1 Group By TYPE) b
Where a.TYPE=b.TYPE and a.Price=b.Price
 
OK!上面的是调试通过的,其实在Oracle上面,那个id、Price、note、ID什么的都需要加上“a.”
还有,区别只是 Max(Price) as Price 在Oracle下不需要使用as
 
这样写行不行?
Select top 1 * From Table
Group By type
order by price
----根据type分组,在组内根据price排序,
然后在每个组内选取第一条记录即为最高价的记录。
没有试验,可以试试行不行。
 
谢谢 yzhshi !
 

Similar threads

D
回复
0
查看
946
DelphiTeacher的专栏
D
D
回复
0
查看
897
DelphiTeacher的专栏
D
D
回复
0
查看
866
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部