SQL Test - Back Market
SQL Test - Back Market
Date: 2024/02/17
WITH Failed_Payments AS (
SELECT
p.CLIENT_ID_ANONYMIZED,
COUNT(*) AS Total_Failed_Payments
FROM PAYMENT p
WHERE p.STATE = 0
GROUP BY 1
HAVING COUNT(*) >= 2 --Definition of "repeatedly" is adjustable
)
SELECT
fp.CLIENT_ID_ANONYMIZED,
fp.Total_Failed_Payments
FROM Failed_Payments fp
ORDER BY 2 DESC;
2. Write an SQL query which highlights the top 5 merchants with the biggest sales (in €) per
country.
With Top_Merchant_By_Country AS (
SELECT
OL.MERCHANT_ID_ANONYMIZED,
M.COUNTRY_CODE,
SUM(OL.PRICE * OL.QUANTITY) AS Total_Sales
FROM
ORDERLINE OL
JOIN MERCHANT M ON OL.MERCHANT_ID_ANONYMIZED =
M.MERCHANT_ID_ANONYMIZED
GROUP BY 1, 2
ORDER BY 2, 3 DESC
)
SELECT
*
FROM (
SELECT
*,
RANK() OVER(PARTITION BY COUNTRY_CODE ORDER BY total_sales DESC) AS ranking
FROM Top_Merchant_By_Country
) ranked