1

オラクルに次のSQLクエリがあります。

SELECT * FROM
(
  SELECT s.singleid,s.titel,a.naam,s.taal,SUM(b.aantal) AS "AANTAL VERKOCHT"
  FROM singles s
  JOIN artiesten a on a.artiestid = s.artiestid
  JOIN bestellingen b on b.singleid = s.singleid
  GROUP BY s.singleid,s.titel,a.naam,s.taal,b.datum
  ORDER BY sum(b.aantal) DESC
)

WHERE ROWNUM <= 5

これは機能しますが、b.datum が現在と前の週の間にあるレコードのみを返す必要があります。
どうすればいいですか?

4

3 に答える 3

2

where にBETWEEN句を追加できるはずです。

WHERE b.datum between SYSDATE - 6 AND SYSDATE
于 2012-08-03T15:51:24.567 に答える
0

BESTELLINGENテーブルから、[datum]が(今日の深夜から7日を引いた)以上で、「今」(または明日の深夜よりも小さい)以下の行のみを抽出する必要があります。要件)。おそらく、このBestellingen行のセットをインラインビューにして、他のテーブルをそれに結合してから、グループ化を行います。

于 2012-08-03T16:09:32.477 に答える
-1

SQL Server の構文は次のとおりです。

AND (b.datum > DATEADD(week, -1, GetDate()) and b.datum < GetDate())

Oracle の構文は同じか、非常に似ていると思います。

于 2012-08-03T15:50:46.023 に答える