wiki:Прашалници со релациска алгебра

Version 5 (modified by 183175, 27 hours ago) ( diff )

--

Извештај

Неделен,Месечен,Годишен извештај

Weekly
Креираме прашалник каде велиме "за секој ден од неделата во последни 7 дена,
прикажи број нарачки и вкупен приход" :

SELECT TO_CHAR(order_date, 'Dy') AS label,
       COUNT(*) AS orders,
       SUM(total_price) AS revenue
FROM orders
WHERE order_date >= NOW() - INTERVAL '7 days'
GROUP BY label
ORDER BY MIN(order_date);


Со следниов ред, функција Day(order_date) враќа извештај за неделата
претставена како групирање (aggregation) :

γ_Day(order_date); count(*), sum(total_price)
  (σ_order_date ≥ (CURRENT_DATE - 7)
    (Orders))



Monthly
Креираме прашалник каде велиме "за секој месец, преброј ги нарачките и пресметај вкупен приход" :

SELECT TO_CHAR(order_date, 'Mon') AS label,
       COUNT(*) AS orders,
       SUM(total_price) AS revenue
FROM orders
GROUP BY label
ORDER BY MIN(order_date);


Со следниов ред, функција Month(order_date) враќа извештај за месец :
претставена како групирање (aggregation) :

γ_Month(order_date); count(*), sum(total_price)(Orders)



Yearly
Креираме прашалник каде велиме "за секоја година, прикажи колку нарачки имало и колку приход е остварено" :

SELECT EXTRACT(YEAR FROM order_date)::INT AS label,
       COUNT(*) AS orders,
       SUM(total_price) AS revenue
FROM orders
GROUP BY label
ORDER BY label;


Со следниов ред, функција Year(order_date) враќа извештај за годишно ниво
претставена како групирање (aggregation) :

γ_Year(order_date); count(*), sum(total_price)(Orders)



Note: See TracWiki for help on using the wiki.