我希望根据条件,将参与该轨道的雇主分为以下三个不同的栏目。他们完成课程的几天,使用数据库专栏lrn_complt
告诉没有。采取的日子:
在
中完成赛道的人员 0-30days 30-60days 60-90days
1st column 2nd column 3rd column
这需要Sql,或者如果你也可以说逻辑可能有帮助???
答案 0 :(得分:2)
您需要发布创建表和插入语句,以便任何人正确理解您的问题。您的输入表,数据和预期输出以及目标RDBMS至少。
http://tkyte.blogspot.com/2005/06/how-to-ask-questions.html
假设您有两个这样的列...
您可以尝试下面的内联查询...
Select id,
(select count(*) from courses where days between 0 and 30) 0_to_30_days,
(select count(*) from courses where days between 31 and 60) 0_to_30_days
(select count(*) from courses where days between 61 and 90) 0_to_30_days
from courses;
答案 1 :(得分:0)
基本上,您需要在一个主查询中创建3个子查询:
SELECT
(SELECT COUNT(*) FROM EMPLOYER WHERE LRN_COMPLT BETWEEN 0 AND 30) AS COLUMN1,
(SELECT COUNT(*) FROM EMPLOYER WHERE LRN_COMPLT BETWEEN 31 AND 60) AS COLUMN2,
(SELECT COUNT(*) FROM EMPLOYER WHERE LRN_COMPLT BETWEEN 61 AND 90) AS COLUMN3
FROM DUAL
答案 2 :(得分:0)
您似乎需要PIVOT
。
Select id,
COUNT(CASE WHEN lrn_complt between 0 and 30 THEN 1 END) Group1,
COUNT(CASE WHEN lrn_complt between 31 and 60 THEN 1 END) Group2,
COUNT(CASE WHEN lrn_complt between 61 and 90 THEN 1 END) Group3
from courses;