iT邦幫忙

0

SQL在同一個表格取某一欄位最高值的問題。

表格A的欄位如下:
ITEM VENDOR PRICE
A MS 100
A MS 200
A APPLE 100
B APPLE 200
B MS 200
B MS 100

相同產品,相同廠商,因時間不同而有價錢的不同。
我想要依廠商產品取出資料,如遇相同廠商則取出最高價,如下:

ITEM VENDOR PRICE
A MS 200
A APPLE 100
B APPLE 200
B MS 200

請問這SQL語法要怎麼寫呢?

12
showingg
iT邦新手 5 級 ‧ 2012-12-18 12:58:21
最佳解答

SELECT ITEM,VENDOR,MPRICE =MAX(PRICE)
FROM (Table Name)
GROUP BY ITEM,VENDOR

14
wiseguy
iT邦超人 1 級 ‧ 2012-12-18 13:52:03

這樣的語法比較簡單,也可以適用比較多種資料庫:

<pre class="c" name="code">SELECT ITEM,VENDOR,MAX(PRICE)
FROM TABLE
GROUP BY ITEM,VENDOR
8
Albert
iT邦高手 1 級 ‧ 2012-12-18 15:12:44

學校玩假的...
假的玩...
給 22K 太多了...
都是來上 [實務課] 根本不是來工作的...

相同產品,相同廠商,因時間不同而有價錢的不同。
我想要依廠商產品取出資料,如遇相同廠商則取出最高價,如下:


=> 生效日期
最後一次報價
最後一次成交價

8
summertw
iT邦好手 1 級 ‧ 2012-12-19 13:25:53

直接使用SQL-92標準語法解即可
設本Table Name = ABC
Select Distinct ABC.ITEM,
ABC.VENDOR,
(Select MAX(b.PRICE)
From ABC b
Where b.ITEM=ABC.ITEM
And b.VENDOR = ABC.VENDOR) AS MAX_PRICE
From ABC

我要發表回答

立即登入回答