0

我有一个包含列名课程和状态的表,如下所示

Course    Status
---------------------------
Math      Complete
Math      Complete
Math      Complete
Science   Incomplete
Science   Complete
Science   Complete

我想要一个给出以下结果的 MySQL 查询

Course    % Status_complete
--------------------------
Math        100%
Science     33.3%  
4

2 回答 2

1
SELECT  Course,
        SUM(Status = 'Complete') / COUNT(*) * 1.0 AS STATUS_COMPLETE
FROM    TableName
GROUP   BY Course
于 2013-05-22T09:10:08.280 回答
0

用这个:-

SELECT  Course,
        SUM(Status = 'Complete') / COUNT(*) * 100.0 as PercentageComplete,
        SUM(Status = 'Incomplete') / COUNT(*) * 100.0 as PercentageIncomplete
FROM    CourseTable
GROUP   BY Course

输出 :-

COURSE    PERCENTAGECOMPLETE    PERCENTAGEINCOMPLETE
Math             100                         0
Science        66.66667                  33.33333
于 2013-05-22T09:17:48.020 回答