Changes between Version 1 and Version 2 of Напредни извештаи од базата (SQL и складирани процедури)


Ignore:
Timestamp:
01/13/25 05:18:31 (2 days ago)
Author:
201205
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Напредни извештаи од базата (SQL и складирани процедури)

    v1 v2  
    11== Напредни извештаи од базата
    22
    3 *
     3* Извештај за името на книгата која била најмногу пати разменета во текот на дадена година
     4
     5{{{
     6create view most_borrowed_book as
     7
     8with BookSwapCount as(
     9        select b.Title, extract(year from t.BorrowDate) as SwapYear, count(tb.BookId) as SwapCount
     10        from Transaction t join TransactionBook tb on t.TransactionId=tb.TransactionId
     11                join Book b on tb.BookId=b.BookId
     12        group by b.title, extract(year from t.borrowdate)
     13)
     14select SwapYear, Title, SwapCount
     15from BookSwapCount
     16where SwapCount = (
     17        select max(SwapCount)
     18        from BookSwapCount bsc
     19        where bsc.SwapYear = BookSwapCount.SwapYear
     20);
     21
     22}}}
     23
     24
     25* Извештај за корисникот со најмал рејтинг за даден период
     26
     27{{{
     28create view worst_rated_user as
     29
     30with UserAverageRatings as (
     31        select au.Username, avg(r.Rating) as AverageRating
     32        from AppUser au join Review r on au.UserId=r.ReceiverId
     33        where r.Date between '2025-01-01' and '2025-06-30'
     34        group by au.Username
     35)       
     36select Username, AverageRating
     37from UserAverageRatings
     38where AverageRating = (
     39        select min(AverageRating)
     40        from UserAverageRatings
     41);
     42}}}