Dan*_*ris 5 sql oracle count distinct
我必须生成一份报告,显示不同地点的名称以及在这些地点提供独特课程的次数。报告只需要注明城市和编号。的独特课程,并按独特课程的最高数量排序。我的问题是课程表有一个复合主键(课程开始日期和课程代码)
我运行这个 SQL 查询,它出现了一个错误,因为你不能计算多个列。但我不确定如何拆分计数。
SELECT
offlocation AS city, COUNT(distinct offbegindate,crscode) as no. of unique course offerings
FROM
offering
GROUP BY offlocation
ORDER BY COUNT(distinct offbegindate,crscode) as no. of unique course offerings DESC;
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
只需进行细微调整,即可计算不同的“行类型”:
SELECT
offlocation AS city,
COUNT(distinct (offbegindate,crscode)) as no_of_unique_course_offerings
FROM
offering
GROUP BY offlocation
ORDER BY no_of_unique_course_offerings DESC;
Run Code Online (Sandbox Code Playgroud)
小智 1
您可以尝试连接值:
SELECT
offlocation AS city, COUNT(distinct offbegindate || '-' || crscode) as no. of unique course offerings
FROM
offering
GROUP BY offlocation
ORDER BY COUNT(distinct offbegindate,crscode) as no. of unique course offerings DESC;
Run Code Online (Sandbox Code Playgroud)