Changes between Version 12 and Version 13 of Прашалници со релациска алгебра


Ignore:
Timestamp:
06/25/25 04:12:32 (8 hours ago)
Author:
183175
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Прашалници со релациска алгебра

    v12 v13  
    33'''Weekly''' \\
    44Креираме прашалник каде велиме "за секој ден од неделата во последни 7 дена,\\ прикажи број нарачки и вкупен приход" : \\
    5 \\
    6 {{{#!sql
    7 SELECT TO_CHAR(order_date, 'Dy') AS label,
    8        COUNT(*) AS orders,
    9        SUM(total_price) AS revenue
    10 FROM orders
    11 WHERE order_date >= NOW() - INTERVAL '7 days'
    12 GROUP BY label
    13 ORDER BY MIN(order_date);
    14 }}}
    15 \\
    165Функцијата {{{Day(order_date)}}} претставена со '''релациска алгебра'''  \\
    176со помош на {{{групирање (aggregation)}}} :\\
     
    2514'''Monthly''' \\
    2615Креираме прашалник каде велиме "за секој месец, преброј ги нарачките и пресметај вкупен приход" : \\
    27 \\
    28 {{{#!sql
    29 SELECT TO_CHAR(order_date, 'Mon') AS label,
    30        COUNT(*) AS orders,
    31        SUM(total_price) AS revenue
    32 FROM orders
    33 GROUP BY label
    34 ORDER BY MIN(order_date);
    35 }}}
    36 \\
    3716Функцијата {{{Month(order_date)}}} претставена со '''релациска алгебра'''  \\
    3817со помош на {{{групирање (aggregation)}}} :\\
     
    4423'''Yearly''' \\
    4524Креираме прашалник каде велиме "за секоја година, прикажи колку нарачки имало и колку приход е остварено" : \\
    46 \\
    47 {{{#!sql
    48 SELECT EXTRACT(YEAR FROM order_date)::INT AS label,
    49        COUNT(*) AS orders,
    50        SUM(total_price) AS revenue
    51 FROM orders
    52 GROUP BY label
    53 ORDER BY label;
    54 }}}
    55 \\
    5625Функцијата {{{Year(order_date)}}} претставена со '''релациска алгебра'''  \\
    5726со помош на {{{групирање (aggregation)}}} :\\
     
    6534Креираме прашалник каде велиме "за секој продукт, пресметај колку вкупно парчиња се продадени \\
    6635(збир на quantity), сортирај ги и земи ги првите 5" : \\
    67 \\
    68 {{{#!sql
    69 SELECT
    70   p.product_name AS label,
    71   SUM(c.quantity) AS total_sold
    72 FROM contains c
    73 JOIN stock s ON c.id_stock = s.id_stock
    74 JOIN products p ON s.id_product = p.id_product
    75 GROUP BY p.product_name
    76 ORDER BY total_sold DESC
    77 LIMIT 5;
    78 }}}
    79 \\
    8036Функцијата {{{top_products}}} претставена со '''релациска алгебра''' каде што имаме \\
    8137⨝ врска : {{{JOIN}}} меѓу {{{contains}}}, {{{stock}}}, {{{products}}} \\
     
    10157Креираме прашалник каде велиме "да се пресмета колку трошел секој клиент вкупно,\\
    10258и да се сортира според таа сума,на крај да ги врати ги првите 5" : \\
    103 \\
    104 {{{#!sql
    105 SELECT
    106   c.first_name || ' ' || c.last_name AS label,
    107   SUM(o.total_price) AS total_spent
    108 FROM orders o
    109 JOIN customers c ON o.id_customer = c.id_customer
    110 GROUP BY c.first_name, c.last_name
    111 ORDER BY total_spent DESC
    112 LIMIT 5;
    113 }}}
    114 \\
    11559Функцијата {{{top_clients}}} претставена со релациска алгебра, каде што имаме: \\
    11660⨝ врска : {{{JOIN}}} меѓу {{{orders}}} и {{{customers}}} \\
     
    13680'''Нови регистрации по месец''' \\
    13781Креираме прашалник каде велиме "за секој месец, прикажи колку нови корисници се регистрирале" : \\
    138 \\
    139 {{{#!sql
    140 SELECT
    141   TO_CHAR(created_at, 'Mon YYYY') AS label,
    142   COUNT(*) AS new_users
    143 FROM customers
    144 GROUP BY label
    145 ORDER BY MIN(created_at);
    146 }}}
    147 \\
    14882Функцијата {{{new_users}}} претставена со релациска алгебра, каде што имаме: \\
    14983γ врска : групирање по {{{TO_CHAR(created_at, 'Mon YYYY')}}} \\