1

我在 oracle 中有以下 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()) 和 b.datum < GetDate())

我会假设 Oracle 中的语法相同或非常相似。

于 2012-08-03T15:50:46.023 回答