| | 336 | |
| | 337 | π_{Genre, Period, PeriodType, LoanCount, MovingAverage} |
| | 338 | (τ_{PeriodType ASC, Period DESC, LoanCount DESC} |
| | 339 | (γ_{Genre, PeriodType, Period} |
| | 340 | (σ_{Loan.LoanDate IS NOT NULL} |
| | 341 | ( |
| | 342 | (Book ⨝_{Book.BookID = Book_Copies.BookID} Book_Copies ⨝_{Book_Copies.CopyID = Loan.BookCopyID} Loan) |
| | 343 | ) |
| | 344 | ) |
| | 345 | COUNT(*) → LoanCount |
| | 346 | ) |
| | 347 | ∪ |
| | 348 | γ_{Genre, PeriodType, Period} |
| | 349 | (σ_{Loan.LoanDate IS NOT NULL} |
| | 350 | ( |
| | 351 | (Book ⨝_{Book.BookID = Book_Copies.BookID} Book_Copies ⨝_{Book_Copies.CopyID = Loan.BookCopyID} Loan) |
| | 352 | ) |
| | 353 | ) |
| | 354 | COUNT(*) → LoanCount |
| | 355 | ) |
| | 356 | ∪ |
| | 357 | γ_{Genre, PeriodType, Period} |
| | 358 | (σ_{Loan.LoanDate IS NOT NULL} |
| | 359 | ( |
| | 360 | (Book ⨝_{Book.BookID = Book_Copies.BookID} Book_Copies ⨝_{Book_Copies.CopyID = Loan.BookCopyID} Loan) |
| | 361 | ) |
| | 362 | ) |
| | 363 | COUNT(*) → LoanCount |
| | 364 | ) |
| | 365 | ) |
| | 366 | ⨝ |
| | 367 | ( |
| | 368 | γ_{Genre, PeriodType} |
| | 369 | ( |
| | 370 | WINDOW_{Genre, PeriodType, ORDER BY Period ROWS BETWEEN 2 PRECEDING AND CURRENT ROW} |
| | 371 | ( |
| | 372 | AVG(LoanCount) → MovingAverage |
| | 373 | ) |
| | 374 | ) |
| | 375 | ) |
| | 376 | |
| | 377 | {{{#!sql |
| | 378 | π (Genre, Period, PeriodType, LoanCount, MovingAverage) |
| | 379 | | |
| | 380 | τ (ORDER BY PeriodType, Period DESC, LoanCount DESC) |
| | 381 | | |
| | 382 | ⨝ (Join for Moving Average Calculation) |
| | 383 | ┌────────────────────────────────────────┐ |
| | 384 | | | |
| | 385 | γ (GROUP BY Genre, PeriodType, Period, Aggregate Functions) γ (Moving Average Calculation) |
| | 386 | | | |
| | 387 | ∪ (UNION ALL) γ (OVER PARTITION Genre, PeriodType ORDER BY Period ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) |
| | 388 | ┌──────────────────────────┴──────────────────────────┐ |
| | 389 | | | | |
| | 390 | γ (Monthly Loans) γ (Quarterly Loans) γ (Yearly Loans) |
| | 391 | | | | |
| | 392 | σ (LoanDate IS NOT NULL) σ (LoanDate IS NOT NULL) σ (LoanDate IS NOT NULL) |
| | 393 | | | | |
| | 394 | (Book ⨝ Book_Copies ⨝ Loan) (Book ⨝ Book_Copies ⨝ Loan) (Book ⨝ Book_Copies ⨝ Loan) |
| | 395 | |
| | 396 | }}} |