如果有下表:
offer(title, price, theater)
此表的目的是描述以价格提供电影的影院。
我想要展示的是:
对于每部电影,以一个最高价格显示其价格 所有剧院,也显示剧院名称,提供最高的 价。
所以在这里,我写道:
select A.movie, max(A.price), A.theater from offer A group by A.movie
然而,这不起作用。如何在所有影院中以最高价格提供独特的标题及其价格和影院?
答案 0 :(得分:1)
以下是您可以编写查询以查找最高价格及其相应剧院的方法:
SELECT o.movie,
(
SELECT MAX(price)
FROM offer
WHERE movie = o.movie
) as price,
(
SELECT theater
FROM offer
WHERE movie = o.movie
ORDER BY price DESC
LIMIT 1
) as theater
FROM offer o;
答案 1 :(得分:0)
mClose_fb = (FloatingActionButton)findViewById(R.id.fb_Cancel);
mClose_fb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
animationRevealClose();
}
});
答案 2 :(得分:0)
执行此操作的典型方法是使用row_number()
:
select o.movie, o.price, o.theater
from (select o.*,
row_number() over (partition by movie order by price desc) as seqnum
from offer o
) o
where seqnum = 1;
请注意,您可以在Oracle中没有子查询的情况下执行此操作:
select movie, max(price),
max(theater) keep (dense_rank first order by price desc) as theater
from offer o
order by movie;
答案 3 :(得分:0)
你说提供表,只是
标题,价格和剧院
列。
如果您没有通过撰写问题而出错,问题是列电影不存在