当前位置: 首页 > 面试题库 >

如何在oracle select sql中的GROUP BY子句中获取不在列中的其他列?

通煜祺
2023-03-14
问题内容

我有一个包含该数据的表MOVIE。

MOVIE_ID  MOVIE_TITLE              CATEGORY        SALES_AMT
--------- ------------------------ --------------- ----------
M_0000004 The Boss Baby            Animation       2000
M_0000006 Star Wars: The Last Jedi Science Fiction 3000
M_0000007 Get Out                  Horror          4000
M_0000008 Million Dollar Arm       Action          2000
M_0000009 The Conjuring            Horror          1000
M_0000012 The Dark Knight          Action          3000

我需要根据热门电影数据SALES_AMT相对于CATEGORY

所需的结果是这样的:

MOVIE_ID  MOVIE_TITLE              CATEGORY        SALES_AMT
--------- ------------------------ --------------- ----------
M_0000004 The Boss Baby            Animation       2000
M_0000006 Star Wars: The Last Jedi Science Fiction 3000
M_0000007 Get Out                  Horror          4000
M_0000012 The Dark Knight          Action          3000

如果使用GROUP_BY选项,则无法选择MOVIE_IDMOVIE_TITLE

select CATEGORY, MAX(SALES_AMT)
from MOVIE
group by CATEGORY
;

问题答案:

尝试使用解析函数和子查询

select movie_id, movie_title, category, sales_amt 
from (
  select movie_id, movie_title, category, sales_amt, 
  row_number() over (partition by category order by sales_amt desc) r 
  from movie
) where r = 1


 类似资料:
  • 当我像这样使用DataFrame groupby时: 我只会得到一个列为“age”和“count(id)”的DataFrame,但在df中,还有许多其他列,如“name”。 总之,我想得到MySQL中的结果, “按年龄从df组中选择姓名、年龄、计数(id)” 在Spark中使用groupby时该怎么办?

  • 我有一个名为Trade的实体,它可以映射到包含属性的表。这个实体也有一个字段,存储来自另一个表的值。我的贸易表包含第二个表的主键。我知道如何获得整个第二个表作为实体在我的贸易实体,但我只想要1列。 如你所见,我尝试了,但是连接是在贸易实体的主密钥上执行的。我如何使用注释从贸易表中选择外键,将其连接到第二/第三表,并直接只从col2/col3中获取值?任何建议都很感激 餐桌贸易: 表2: 表3: 现

  • 问题内容: 我有一个视图t,其中有一个用于表名的列,另一个具有where子句条件的列。 等等… 现在,我将记录放在游标中,并且我想运行每个查询。 myTable是另一个表,我要将记录用于下一个目的。 问题答案: @Akshay, 请找到下面的代码以供参考。

  • 问题内容: 我有两个pandas数据框,它们有一些共同点。 假设是的子集。 如何获取dataframe1中不在dataframe2中的行? 问题答案: 一种方法是存储两个df的内部合并结果,然后我们可以简单地在一行的值不在此通用值中时选择行: 编辑 你发现的另一种方法是使用isin它将产生NaN可删除的行: 但是,如果df2不能以相同的方式开始行,那么它将行不通: 将产生整个df:

  • 问题内容: 我有一个带有Books的QuerySet,我想为每个Book结果添加一个字段。 在原始SQL中,我会写: 如何在Django中实现?我试过了,但似乎并不适合这种东西。 问题答案: 如遇票数可能的值是只有1和-1,你可以使用刚才提到他们总结注释:。 如果还有更多可能的值,则可以通过添加到上述查询中来过滤注释。 如果是更复杂的,你将不得不使用与。

  • 问题内容: 我正在尝试删除图像,但得到: 这是docker版本: 但没有其他信息: 如何获得它声称拥有的 依赖子图像 ? 没有运行或停止的具有该图像ID的容器。 问题答案: 简短的答案: 这是一个python3脚本,其中列出了相关的docker映像。 长答案: 您可以看到在有问题的图像之后创建的所有图像的图像ID和父ID,如下所示: 您应该能够查找具有父ID的图像(以f50f9524513f开头)