sql - Oracle SQL 选择不在 GROUP BY 子句中的行

标签 sql oracle group-by

假设我有一个包含列 first_namesecond_namescore 的表格。我想列出所有列和得分列中具有相同值的行数

如果我必须只列出分数和具有相同分数的行,我会这样做:

SELECT score, COUNT(*) FROM tab GROUP BY score;

SELECT 中,您不能使用不在 GROUP BY 子句中的列。那么如果我不仅要列出score,还要列出first_namesecond_name,该怎么办呢?

最佳答案

您可以使用分析函数:

SELECT first_name, second_name, score, COUNT(*)  over (partition by score) FROM tab ;

关于sql - Oracle SQL 选择不在 GROUP BY 子句中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65763882/

相关文章:

mysql - 不满足条件时 SELECT 语句应返回 0

c# - 在使用 EntityFramework 6.1.1 任务扩展 'ToArrayAsync' 时,等待永远不会返回

具有 EMP_ID 和大量时间戳的 mySQL 表

SQL*Plus 命令行参数在 Windows 中被覆盖

json - postgresql中group by的嵌套json聚合行

php - 不使用 echo 查询数据库,生成设计结果

java - SQL 命令未正确以 select 结束

python - pandas:groupby 多列,连接一列同时添加另一列

sqlite - 在sqlite中使用group by时选择某行的rowid

oracle - 在 Oracle SQL 开发人员中使用 Data Modeler(查看关系图)