假设我有一个包含列 first_name
、second_name
和 score
的表格。我想列出所有列和得分列中具有相同值的行数。
如果我必须只列出分数和具有相同分数的行,我会这样做:
SELECT score, COUNT(*) FROM tab GROUP BY score;
在 SELECT
中,您不能使用不在 GROUP BY
子句中的列。那么如果我不仅要列出score
,还要列出first_name
和second_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/