Re: [SQL ] 請問選取最大值的方法
select ttt.id, ttt.type, tt.amount
from
(
select id , 'meal' as type, meal as amount from consume
union
select id , 'travel' as type, travel as amount from consume
union
select id , 'clothes' as type, clothes as amount from consume
) ttt
inner join
(
select id , max(amount) amount
from
(
select id , 'meal' as type, meal as amount from consume
union
select id , 'travel' as type, travel as amount from consume
union
select id , 'clothes' as type, clothes as amount from consume
) t
group by id
) tt
on tt.id=ttt.id and tt.amount=ttt.amount
--這個表格設計的很爛,如果多一種消費項目就要多一個欄位
--設計好一點就不需要UNION了
※ 引述《cmccyc (悲慘的生活)》之銘言:
: (針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行)
: 資料庫名稱:teradata或 mssql
: 資料庫版本:
: 內容/問題描述:
: 我有一個消費table
: ID 餐費 旅行 服飾
: ---------------------------------
: a 500 100 200
: b 100 150 300
: c 100 700 300
: 我想要針對每個人選出主要消費的項目
: ID 消費項目
: ----------------
: a 餐費
: b 服飾
: c 旅行
: 請問要如何寫呢
: 謝謝
--
詩經、國風、周南、關雎
關關雎鳩,在河之洲。窈窕淑女,君子好逑。
參差荇菜,左右流之。窈窕淑女,寤寐求之。
求之不得,寤寐思服。悠哉悠哉,輾轉反側。
參差荇菜,左右采之。窈窕淑女,琴瑟友之。
參差荇菜,左右芼之。窈窕淑女,鐘鼓樂之。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.229.161.24
討論串 (同標題文章)
Database 近期熱門文章
PTT數位生活區 即時熱門文章