You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
["\n WITH customer_spending AS (\n SELECT \n c.customer_id,\n c.first_name,\n c.last_name,\n COUNT(r.rental_id) as total_rentals,\n SUM(p.amount) as total_spent,\n AVG(p.amount) as avg_payment\n FROM customer c\n JOIN rental r ON c.customer_id = r.customer_id\n JOIN payment p ON r.rental_id = p.rental_id\n GROUP BY c.customer_id, c.first_name, c.last_name\n ),\n customer_categories AS (\n SELECT DISTINCT\n c.customer_id,\n STRING_AGG(cat.name, ', ') OVER (PARTITION BY c.customer_id) as favorite_categories\n FROM customer c\n JOIN rental r ON c.customer_id = r.customer_id\n JOIN inventory i ON r.inventory_id = i.inventory_id\n JOIN film_category fc ON i.film_id = fc.film_id\n JOIN category cat ON fc.category_id = cat.category_id\n )\n SELECT \n cs.*,\n cc.favorite_categories,\n RANK() OVER (ORDER BY cs.total_spent DESC) as spending_rank,\n NTILE(4) OVER (ORDER BY cs.total_rentals) as rental_quartile,\n ROUND(cs.total_spent / SUM(cs.total_spent) OVER () * 100, 2) as percentage_of_total_revenue\n FROM customer_spending cs\n JOIN customer_categories cc ON cs.customer_id = cc.customer_id\n WHERE cs.total_rentals > 5\n ORDER BY spending_rank\n "]: {
const{ rows }=awaitclient.query("\n WITH customer_spending AS (\n SELECT \n c.customer_id,\n c.first_name,\n c.last_name,\n COUNT(r.rental_id) as total_rentals,\n SUM(p.amount) as total_spent,\n AVG(p.amount) as avg_payment\n FROM customer c\n JOIN rental r ON c.customer_id = r.customer_id\n JOIN payment p ON r.rental_id = p.rental_id\n GROUP BY c.customer_id, c.first_name, c.last_name\n ),\n customer_categories AS (\n SELECT DISTINCT\n c.customer_id,\n STRING_AGG(cat.name, ', ') OVER (PARTITION BY c.customer_id) as favorite_categories\n FROM customer c\n JOIN rental r ON c.customer_id = r.customer_id\n JOIN inventory i ON r.inventory_id = i.inventory_id\n JOIN film_category fc ON i.film_id = fc.film_id\n JOIN category cat ON fc.category_id = cat.category_id\n )\n SELECT \n cs.customer_id, cs.first_name, cs.last_name, cs.total_rentals, cs.total_spent, cs.avg_payment,\n cc.favorite_categories,\n RANK() OVER (ORDER BY cs.total_spent DESC) as spending_rank,\n NTILE(4) OVER (ORDER BY cs.total_rentals) as rental_quartile,\n ROUND(cs.total_spent / SUM(cs.total_spent) OVER () * 100, 2) as percentage_of_total_revenue\n FROM customer_spending cs\n JOIN customer_categories cc ON cs.customer_id = cc.customer_id\n WHERE cs.total_rentals > 5\n ORDER BY spending_rank");
["\n SELECT\n c.customer_id AS id,\n c.first_name,\n c.last_name,\n s.manager_staff_id AS \"store.manager_staff_id\",\n a.address_id AS \"store.address.id\",\n a.address AS \"store.address.address\",\n a.address2 AS \"store.address.address2\"\n FROM customer AS c\n JOIN store AS s ON c.store_id = s.store_id\n JOIN address AS a ON c.address_id = a.address_id\n WHERE customer_id = @customer_id\n "]: {
const{ rows }=awaitclient.query("\n SELECT\n c.customer_id AS id,\n c.first_name,\n c.last_name,\n s.manager_staff_id AS \"store.manager_staff_id\",\n a.address_id AS \"store.address.id\",\n a.address AS \"store.address.address\",\n a.address2 AS \"store.address.address2\"\n FROM customer AS c\n JOIN store AS s ON c.store_id = s.store_id\n JOIN address AS a ON c.address_id = a.address_id\n WHERE customer_id = $1",(["customer_id"]asconst).map((param)=>params[param]));
36
+
const{ rows }=awaitclient.query("SELECT\n c.customer_id AS id,\n c.first_name,\n c.last_name,\n s.manager_staff_id AS \"store.manager_staff_id\",\n a.address_id AS \"store.address.id\",\n a.address AS \"store.address.address\",\n a.address2 AS \"store.address.address2\"\nFROM customer AS c\nJOIN store AS s ON c.store_id = s.store_id\nJOIN address AS a ON c.address_id = a.address_id\nWHERE customer_id = $1",(["customer_id"]asconst).map((param)=>params[param]));
["\n WITH customer_spending AS (\n SELECT \n c.customer_id,\n c.first_name,\n c.last_name,\n COUNT(r.rental_id) as total_rentals,\n SUM(p.amount) as total_spent,\n AVG(p.amount) as avg_payment\n FROM customer c\n JOIN rental r ON c.customer_id = r.customer_id\n JOIN payment p ON r.rental_id = p.rental_id\n GROUP BY c.customer_id, c.first_name, c.last_name\n ),\n customer_categories AS (\n SELECT DISTINCT\n c.customer_id,\n STRING_AGG(cat.name, ', ') OVER (PARTITION BY c.customer_id) as favorite_categories\n FROM customer c\n JOIN rental r ON c.customer_id = r.customer_id\n JOIN inventory i ON r.inventory_id = i.inventory_id\n JOIN film_category fc ON i.film_id = fc.film_id\n JOIN category cat ON fc.category_id = cat.category_id\n )\n SELECT \n cs.*,\n cc.favorite_categories,\n RANK() OVER (ORDER BY cs.total_spent DESC) as spending_rank,\n NTILE(4) OVER (ORDER BY cs.total_rentals) as rental_quartile,\n ROUND(cs.total_spent / SUM(cs.total_spent) OVER () * 100, 2) as percentage_of_total_revenue\n FROM customer_spending cs\n JOIN customer_categories cc ON cs.customer_id = cc.customer_id\n WHERE cs.total_rentals > 5\n ORDER BY spending_rank\n "]: {
const{ rows }=awaitclient.query("WITH customer_spending AS (\n SELECT \n c.customer_id,\n c.first_name,\n c.last_name,\n COUNT(r.rental_id) as total_rentals,\n SUM(p.amount) as total_spent,\n AVG(p.amount) as avg_payment\n FROM customer c\n JOIN rental r ON c.customer_id = r.customer_id\n JOIN payment p ON r.rental_id = p.rental_id\n GROUP BY c.customer_id, c.first_name, c.last_name\n),\ncustomer_categories AS (\n SELECT DISTINCT\n c.customer_id,\n STRING_AGG(cat.name, ', ') OVER (PARTITION BY c.customer_id) as favorite_categories\n FROM customer c\n JOIN rental r ON c.customer_id = r.customer_id\n JOIN inventory i ON r.inventory_id = i.inventory_id\n JOIN film_category fc ON i.film_id = fc.film_id\n JOIN category cat ON fc.category_id = cat.category_id\n)\nSELECT \n cs.customer_id, cs.first_name, cs.last_name, cs.total_rentals, cs.total_spent, cs.avg_payment,\n cc.favorite_categories,\n RANK() OVER (ORDER BY cs.total_spent DESC) as spending_rank,\n NTILE(4) OVER (ORDER BY cs.total_rentals) as rental_quartile,\n ROUND(cs.total_spent / SUM(cs.total_spent) OVER () * 100, 2) as percentage_of_total_revenue\nFROM customer_spending cs\nJOIN customer_categories cc ON cs.customer_id = cc.customer_id\nWHERE cs.total_rentals > 5\nORDER BY spending_rank");
0 commit comments