Changes between Version 12 and Version 13 of Прашалници со релациска алгебра
- Timestamp:
- 06/25/25 04:12:32 (8 hours ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Прашалници со релациска алгебра
v12 v13 3 3 '''Weekly''' \\ 4 4 Креираме прашалник каде велиме "за секој ден од неделата во последни 7 дена,\\ прикажи број нарачки и вкупен приход" : \\ 5 \\6 {{{#!sql7 SELECT TO_CHAR(order_date, 'Dy') AS label,8 COUNT(*) AS orders,9 SUM(total_price) AS revenue10 FROM orders11 WHERE order_date >= NOW() - INTERVAL '7 days'12 GROUP BY label13 ORDER BY MIN(order_date);14 }}}15 \\16 5 Функцијата {{{Day(order_date)}}} претставена со '''релациска алгебра''' \\ 17 6 со помош на {{{групирање (aggregation)}}} :\\ … … 25 14 '''Monthly''' \\ 26 15 Креираме прашалник каде велиме "за секој месец, преброј ги нарачките и пресметај вкупен приход" : \\ 27 \\28 {{{#!sql29 SELECT TO_CHAR(order_date, 'Mon') AS label,30 COUNT(*) AS orders,31 SUM(total_price) AS revenue32 FROM orders33 GROUP BY label34 ORDER BY MIN(order_date);35 }}}36 \\37 16 Функцијата {{{Month(order_date)}}} претставена со '''релациска алгебра''' \\ 38 17 со помош на {{{групирање (aggregation)}}} :\\ … … 44 23 '''Yearly''' \\ 45 24 Креираме прашалник каде велиме "за секоја година, прикажи колку нарачки имало и колку приход е остварено" : \\ 46 \\47 {{{#!sql48 SELECT EXTRACT(YEAR FROM order_date)::INT AS label,49 COUNT(*) AS orders,50 SUM(total_price) AS revenue51 FROM orders52 GROUP BY label53 ORDER BY label;54 }}}55 \\56 25 Функцијата {{{Year(order_date)}}} претставена со '''релациска алгебра''' \\ 57 26 со помош на {{{групирање (aggregation)}}} :\\ … … 65 34 Креираме прашалник каде велиме "за секој продукт, пресметај колку вкупно парчиња се продадени \\ 66 35 (збир на quantity), сортирај ги и земи ги првите 5" : \\ 67 \\68 {{{#!sql69 SELECT70 p.product_name AS label,71 SUM(c.quantity) AS total_sold72 FROM contains c73 JOIN stock s ON c.id_stock = s.id_stock74 JOIN products p ON s.id_product = p.id_product75 GROUP BY p.product_name76 ORDER BY total_sold DESC77 LIMIT 5;78 }}}79 \\80 36 Функцијата {{{top_products}}} претставена со '''релациска алгебра''' каде што имаме \\ 81 37 ⨝ врска : {{{JOIN}}} меѓу {{{contains}}}, {{{stock}}}, {{{products}}} \\ … … 101 57 Креираме прашалник каде велиме "да се пресмета колку трошел секој клиент вкупно,\\ 102 58 и да се сортира според таа сума,на крај да ги врати ги првите 5" : \\ 103 \\104 {{{#!sql105 SELECT106 c.first_name || ' ' || c.last_name AS label,107 SUM(o.total_price) AS total_spent108 FROM orders o109 JOIN customers c ON o.id_customer = c.id_customer110 GROUP BY c.first_name, c.last_name111 ORDER BY total_spent DESC112 LIMIT 5;113 }}}114 \\115 59 Функцијата {{{top_clients}}} претставена со релациска алгебра, каде што имаме: \\ 116 60 ⨝ врска : {{{JOIN}}} меѓу {{{orders}}} и {{{customers}}} \\ … … 136 80 '''Нови регистрации по месец''' \\ 137 81 Креираме прашалник каде велиме "за секој месец, прикажи колку нови корисници се регистрирале" : \\ 138 \\139 {{{#!sql140 SELECT141 TO_CHAR(created_at, 'Mon YYYY') AS label,142 COUNT(*) AS new_users143 FROM customers144 GROUP BY label145 ORDER BY MIN(created_at);146 }}}147 \\148 82 Функцијата {{{new_users}}} претставена со релациска алгебра, каде што имаме: \\ 149 83 γ врска : групирање по {{{TO_CHAR(created_at, 'Mon YYYY')}}} \\