sql查询最大最小值

时间:2020-12-25 15:15:53
sql查询最大最小值曾经看到一个帖子,是问怎么一次(用一条查询语句)就查询出一个表中的最大值和最小值,其中一位这样回答的:(拿Northwind的Products表为例) 
sql查询最大最小值
select   top   1   *   from  products  order   by  UnitPrice 
sql查询最大最小值
union  
sql查询最大最小值
select   top   1   *   from  products  order   by  UnitPrice  desc  
sql查询最大最小值上面这个似乎正确,可是其实在使用了Union的时候只有最后一条Select命令才能使用Order by参数,因此上面这样是不行的,在查询分析器中运行会爆出错误 
sql查询最大最小值
sql查询最大最小值下面提供查询出最大值和最小值的方法: 
sql查询最大最小值
declare   @HighLow   table  
sql查询最大最小值
sql查询最大最小值ProductName 
varchar ( 50
sql查询最大最小值
sql查询最大最小值
insert   @HighLow   select   top   1  Productname  from  Products  order   by  Unitprice  desc  
sql查询最大最小值
insert   @HighLow   select   top   1  Productname  from  Products  order   by  Unitprice 
sql查询最大最小值
select  ProductName  from   @HighLow  
sql查询最大最小值这种方法不是一次就查询出最大值和最小值,而是使用了一个Table变量,将查询出的最大值和最小值保存入这个表中。 
sql查询最大最小值
sql查询最大最小值
sql查询最大最小值下面这个例子使用了Northwind数据库,取出每种书目中价格最贵的3本书: 
sql查询最大最小值
declare   @Category   table  
sql查询最大最小值
sql查询最大最小值id 
int   identity ( 1 , 1 not   null
sql查询最大最小值CategoryId 
int
sql查询最大最小值CategoryName 
varchar ( 50
sql查询最大最小值
sql查询最大最小值
declare   @MostExpensive   table  
sql查询最大最小值
sql查询最大最小值ProductName 
varchar ( 50
sql查询最大最小值
sql查询最大最小值
declare   @counter   int , @number   int  
sql查询最大最小值
set   @counter = 0  
sql查询最大最小值
insert   @Category   select  CategoryId,CategoryName  from  Categories 
sql查询最大最小值
select   @number = count ( * from   @Category  
sql查询最大最小值
while   @counter < @number  
sql查询最大最小值
begin  
sql查询最大最小值
set   @counter = @counter + 1  
sql查询最大最小值
insert   @MostExpensive   select   top   3  ProductName  from  products  where  categoryid = ( select  CategoryId  from   @Category   where  id = @counter order   by  UnitPrice  desc  
sql查询最大最小值
end  
sql查询最大最小值
select   *   from   @MostExpensive