קיטלוג לקוחות עם סטטוס תשלומים זהה או לפחות אחד שונה
בסיסי
Published
September 19, 2023
ברוכים הבאים לתרגיל השני!
הדאטה
בטבלה למטה ניתן לראות פירוט תשלומים של יוזרים:
SELECT TOP 10*FROM payments_ag_2;
Displaying records 1 - 10
user_id
date
status
amount
1
2023-06-01
Load
234
1
2023-06-14
Cancel
42
1
2023-06-16
Load
52
1
2023-06-22
Load
6
1
2023-06-23
Load
36
1
2023-06-24
Pending
74
2
2023-06-03
Load
58
2
2023-06-05
Load
33
2
2023-06-09
Load
65
2
2023-06-10
Load
74
שאלה
עבור כל יוזר החזר טבלה עם מספר התשלומים שהוא קיבל, עמודה המציינת האם כל התשלומים שהוא קיבל הם עם סטטוס ‘Load’ (1 כל התשלומים עם הסטטוס הזה, 0 לא), האם מספר התשלומים שנטענו היה גדול ממספר התשלומים שבוטלו (1 כן, 0 לא) והאם יש לו לפחות תשלום אחד שהוא ‘Pending’ (1 כן, 0 לא)
בהצלחה!
נסו בעצמכם
אונליין
נסו בחלון טקסט למטה (SQLite):
-- EDIT THIS QUERY:SELECT*FROM payments_ag_2LIMIT10;
SELECT USER_ID,COUNT(*) AS N_PAYMENTS,CASEWHENSUM(CASEWHEN STATUS ='Load'THEN1ELSE0END) =COUNT(*) THEN1ELSE0ENDAS ALL_LOADED,CASEWHENCOUNT(CASEWHEN STATUS ='Load'THEN1END) >COUNT(CASEWHEN STATUS ='Cancel'THEN1END) THEN1ELSE0ENDAS more_loaded_than_failed,MAX(CASEWHEN STATUS ='Pending'THEN1ELSE0END) AS HAS_PENDING_PAYMENTFROM payments_ag_2GROUPBY USER_ID