【发布时间】:2022-01-20 15:03:00
【问题描述】:
我试图在我的数据库中只获取八月的月份,然后计算八月份有多少次表现,但我不知道该怎么做。
我已经给出了到目前为止我创建的代码。
SELECT f.FILM_NAME, COUNT(p.PERFORMANCE_DATE), SUM(p.TAKINGS), p.PERFORMANCE_DATE
FROM A2_PERFORMANCE p, A2_FILM f
WHERE p.PERFORMANCE_DATE LIKE TO_DATE('08-2021', 'MM-YY')
GROUP BY f.FILM_NAME, p.PERFORMANCE_DATE
ORDER BY f.FILM_NAME
我目前正在努力实现这一目标:
-- FILM_NAME Performances Total Takings
-- --------------------------- ------------ ----------------------
-- It Happened One Night 39 £63,571
-- Modern Times 38 £58,332
-- Parasite 23 £37,195
-- Knives Out 22 £34,362
-- Citizen Kane 25 £32,711
-- The Wizard of Oz 18 £21,716
-- Avengers: Endgame 18 £17,081
【问题讨论】:
-
首先你需要检查
TO_DATE('08-2021', 'MM-YY')的输出。然后你可以想象自己是一个 DBMS 并决定,你将如何对待一个日期“像”其他日期。最后使用some_date >= date '2021-08-01' and some_date < date '2021-09-01',因为在Oracle 中date是datetime的误导性名称,between将过滤掉最后一天午夜之后的日期。 -
您的问题标题中有 SQL Developer。但是这个问题与它无关; SQL Developer 只是您使用的图形界面,问题不在于它。相反,问题是关于 Oracle SQL 的。我相应地编辑了你的标题。
标签: sql oracle date-arithmetic