繁体   English   中英

需要使用复合主键计算不同的值

[英]Need to count distinct values with a composite primary key

我必须生成一份报告,显示不同地点的名称以及在这些地点提供独特课程的次数。 报告只需要指明城市和否。 独特的课程产品,并按最多的独特产品排序。 我遇到的问题是产品表有一个复合主键(提供开始日期和课程代码)

我运行此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;

任何帮助将不胜感激。

只是微小的调整,“行类型”计数不同:

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;

您可以尝试连接值:

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;

希望这会奏效:

select offlocation AS city , count(*)  as cnt from
(

  select distinct offlocation,offbegindate,crscode from offering

) v 

group by city 
order by cnt desc;

从cgtask.tsk_proj_cost中选择count(不同的CONCAT(offbegindate,' - ',crscode));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM