作者webberhan (练习多"多益"善)
看板Database
标题Re: [SQL ] 请问选取最大值的方法
时间Tue Nov 14 01:54:04 2006
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