Jak zapytać o wiele SUM tego samego elementu za pomocą SQL w iReport

Tworzę JasperReport przy użyciu iReport i jako taki jestem ograniczony * do jednego zapytania SQL.

Mam tabelę „statystyki” z kolumnami „nazwa” (VARCHAR), „liczba” (INTEGER) i „datetime” (DATETIME).

Jest to wystarczająco proste, aby uzyskać sumę kolumny „zliczanie”, gdy „nazwa” była „testowa” na ostatni dzień i podobnie w ostatnim tygodniu i miesiącu (patrz poniżej)

Działająca instrukcja SQL:

<code>
SELECT
  SUM(count)as 'today'
FROM
  statistics
WHERE
   name = "test"
  AND $P{oneDayAgo} <= datetime
  AND datetime <= $P{now}
</code>
Ponieważ jednak mam tylko jedną instrukcję SQL do pracy, muszę jakoś je połączyć. Próbowałem użyć UNION (jak poniżej), ale to nie zadziałało.

Niepowodzenie instrukcji SQL:

<code>SELECT
     SUM(count)as 'today'
FROM
     statistics
WHERE
     name = "test"
 AND $P{oneDayAgo} <= datetime
 AND datetime <= $P{now}
UNION
SELECT
     SUM(count)as 'thisWeek'
FROM
     statistics
WHERE
     name = "test"
 AND $P{oneWeekAgo} <= datetime
 AND datetime <= $P{now}
UNION
SELECT
     SUM(count)as 'thisMonth'
FROM
     statistics
WHERE
     name = "test"
 AND $P{oneMonthAgo} <= datetime
 AND datetime <= $P{now}
</code>

(*) można dodawać dodatkowe zapytania tylko dla wykresów lub zakładek krzyżowych, z których żaden nie służy mojemu celowi.

questionAnswers(3)

yourAnswerToTheQuestion