Abfragen mehrerer SUMs desselben Elements mithilfe von SQL in iReport

Ich erstelle einen JasperReport mit iReport und bin daher * auf eine SQL-Abfrage beschränkt.

Ich habe eine Tabelle 'statistics' mit den Spalten 'name' (VARCHAR), 'count' (INTEGER) und 'datetime' (DATETIME).

Es ist einfach genug, die Summe der 'count'-Spalte zu erhalten, wenn der' name 'für den letzten Tag "test" war, ebenso für die letzte Woche und den letzten Monat (siehe unten).

Arbeits-SQL-Anweisung:

<code>
SELECT
  SUM(count)as 'today'
FROM
  statistics
WHERE
   name = "test"
  AND $P{oneDayAgo} <= datetime
  AND datetime <= $P{now}
</code>
Da ich jedoch nur mit einer SQL-Anweisung arbeiten muss, muss ich sie irgendwie kombinieren. Ich habe versucht, UNION zu verwenden (siehe unten), aber das hat nicht funktioniert.

Fehlgeschlagene SQL-Anweisung:

<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>

(*) Man kann zusätzliche Abfragen nur für Grafiken oder Kreuztabellen hinzufügen, von denen keine meinem Zweck dient.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage