程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> sql 取最大與最小值語句

sql 取最大與最小值語句

編輯:MySQL綜合教程

sql 取最大與最小值語句

sql 取最大與最小值語句

if object_id('tb') is not null drop table tb;
go
create table tb(
 col1 int,
 col2 int,
 fcount int)
insert into tb
select 11,20,1 union all
select 11,22,1 union all
select 11,23,2 union all
select 11,24,5 union all
select 12,39,1 union all
select 12,40,3 union all
select 12,38,4
go
--查詢
--1
select * from tb t where fcount=(select max(fcount)from tb where col1=t.col1)
--2
select * from tb t where not exists(select 1 from tb where col1=t.col1 and fcount>t.fcount)
--結果
/*
col1        col2        fcount
----------- ----------- -----------
12          38          4
11          24          5

*/


實例二

商品進貨報價表中保存有n種商品,每種商品分別對應m個供貨商的報價,我想得到這樣一個結果:從一個表中一眼能看出每種商品對應的最低商家報價和最高商家報價,怎麼做呢?

1)新建一個數據庫教程   test.mdb  
2)導入info.mdb   和   info1.mdb   的數據表,分別為   info   和   info1,表的數據如下:  
  

  info 
  ————– 
  商品名稱 
  1234 
  2345 
  
  info1 
  ————————— 
  商品名稱 廠商 價格 
  1234       廠商1 10 
  1234       廠商2 20 
  1234       廠商3 30 
  2345       廠商1 40 
  2345       廠商2 50 
  2345       廠商3 60 
  3456       廠商1 70 
  3456       廠商2 80 
  3456       廠商3 90 
  
  3)新建一個查詢,打開   sql視圖   (視圖->sql視圖) 
  
  4)粘貼如下內容並運行 
  
  select   info1.名稱,   max(info1.價格)   as   價格之最大值,   min(info1.價格)   as   價格之最小值 
  from   info1 
  group   by   info1.名稱 
  having   info1.名稱   in   (   select   info.名稱   from   info); 
  
  5)運行結果如下: 
  
  查詢1:選擇查詢 
  ———————————– 
  商品名稱  價格之最大值 價格之最小值 
  1234               30                    10 
  2345               60                    40   

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved