Tablodan (User_Result) geri dönen bir select deyim var.Tamamlanma Tarihine göre yapılan denemelerin sayısını ayarlayın - Postgres SQL, Veritabanı
userId UserName Course EnrolmentDate CompletedDate Status
111 User_01 Course1 2016-03-16 2016-03-18 Fail
111 User_01 Course1 2016-03-20 2016-03-24 pass
112 User_02 Course2 2016-01-05 2016-01-05 Fail
112 User_02 Course2 2016-01-05 2016-01-06 Fail
112 User_02 Course2 2016-01-20 2016-01-25 Pass
Şimdi, o kullanıcılara, kayıt tarihine ve tamamlanma tarihine göre, bu denemelere giriş sayısını eklemek istiyorum.
Nasıl yaptım;
With "report_result" AS
(
SELECT
"userID",
"UserName",
"Course",
"EnrolmentDate",
"Completed Date",
"status"
FROM "User_Result"
)
,
"attempts_tbl" AS (
SELECT
"userID",
"Course",
count(1) AS attempt
FROM report_result
GROUP BY "userID", "Course"
)
,
"finaltable" AS
(
Select
report_result.*,
attempts_tbl.attempt
from
report_result,attempts_tbl
where report_result."userID" = attempts_tbl."userID" and report_result."Course" = attempts_tbl."Course"
)
SELECT *
FROM final table;
Ama sonucu altında var
userId UserName Course EnrolmentDate CompletedDate Status #Attempts
111 User_01 Course1 2016-03-16 2016-03-18 Fail 2
111 User_01 Course1 2016-03-20 2016-03-24 pass 2
112 User_02 Course2 2016-01-05 2016-01-05 Fail 3
112 User_02 Course2 2016-01-05 2016-01-06 Fail 3
112 User_02 Course2 2016-01-20 2016-01-25 Pass 3
nasıl buna göre girişimlerinin # almalısınız:
userId UserName Course EnrolmentDate CompletedDate Status #Attempts
111 User_01 Course1 2016-03-16 2016-03-18 Fail 1
111 User_01 Course1 2016-03-20 2016-03-24 pass 2
112 User_02 Course2 2016-01-05 2016-01-05 Fail 1
112 User_02 Course2 2016-01-05 2016-01-06 Fail 2
112 User_02 Course2 2016-01-20 2016-01-25 Pass 3
Lapa cevaplarınızı teşekkür ederiz.
Eğer :)
#attempts yuvarlama toplamı olmak ister misiniz? –
Son tablomda gösterdiğim gibi her kayıt için 1, 2, 3 girişimi almak istiyorum. :) –