andrey_vetrov

project_p2

Sep 25th, 2022 (edited)
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. -- 1
  2. SELECT product_name,
  3. availability
  4. FROM product_shop.product
  5. WHERE availability < 3
  6. ORDER BY availability;
  7.  
  8. --2
  9. SELECT AVG(sum) --*, DATE_TRUNC('month', CAST(payment_date AS timestamp))----
  10. FROM product_shop.user_order
  11. --WHERE DATE_TRUNC('month', CAST(payment_date AS timestamp)) IN ('2022-06-01','2022-07-01','2022-08-01')
  12. WHERE CAST(order_date AS timestamp) BETWEEN '2022-06-01' AND '2022-08-31';
  13.  
  14. --3
  15. SELECT p.product_name,
  16. p.product_description,
  17. p.price,
  18. p.availability --SUM(p.price * p.availability)--
  19. FROM product_shop.product p
  20. LEFT OUTER JOIN product_shop.product_order po ON p.product_id = po.product_id
  21. WHERE order_id IS NULL;
  22.  
  23. --4
  24. SELECT p.product_name top_names,
  25. po.product_id,
  26. count(po.order_id) order_cnt
  27. FROM product_shop.product_order po
  28. LEFT OUTER JOIN product_shop.product p ON p.product_id = po.product_id
  29. GROUP BY 1,
  30. 2
  31. ORDER BY count(po.order_id) DESC
  32. LIMIT 10;
  33.  
  34. --5
  35. SELECT surname,
  36. name,
  37. middle_name,
  38. COUNT(order_id) order_cnt
  39. FROM product_shop.user_order_detail
  40. GROUP BY 1,
  41. 2,
  42. 3
  43. HAVING COUNT(order_id) > 1
  44. ORDER BY order_cnt DESC;
  45.  
  46.  
  47. --6
  48. SELECT c.category_name,
  49. c.category_description,
  50. count(o.order_id) order_cnt
  51. FROM product_shop.user_order o
  52. LEFT OUTER JOIN product_shop.product_order po ON o.order_id = po.order_id
  53. LEFT OUTER JOIN product_shop.product p ON po.product_id = p.product_id
  54. LEFT OUTER JOIN product_shop.category c ON c.category_id = p.category_id
  55. WHERE DATE_TRUNC('month', CAST(o.order_date AS timestamp)) IN ('2022-06-01',
  56. '2022-07-01',
  57. '2022-08-01')
  58. GROUP BY 1,
  59. 2
  60. ORDER BY order_cnt DESC
  61. LIMIT 1;
  62.  
  63. --6 v.2
  64.  
  65. SELECT c.category_name,
  66. c.category_description,
  67. count(o.order_id) order_cnt
  68. FROM product_shop.user_order o, product_shop.product_order po, product_shop.product p, product_shop.category c
  69. WHERE o.order_id = po.order_id
  70. AND po.product_id = p.product_id
  71. AND c.category_id = p.category_id
  72. AND DATE_TRUNC('month', CAST(o.order_date AS timestamp)) IN ('2022-06-01',
  73. '2022-07-01',
  74. '2022-08-01')
  75. GROUP BY 1,
  76. 2
  77. ORDER BY order_cnt DESC
  78. LIMIT 1;
  79.  
Advertisement
Add Comment
Please, Sign In to add comment