SELECT extract(YEAR from s.CREATE_DATE) as YEAR, extract(MONTH from s.CREATE_DATE) as MONTH, s.SALES_PERSON_GID, COUNT(s.SALES_ORDER_ID) as "TOTAL ORDERS" FROM SALES_ORDERS s, SALES_ORDER_STATUS ss WHERE s.SALES_ORDER_ID = ss.SALES_ORDER_ID and ss.STATUS_TYPE_ID = 'SALE ORDER STATUS' and ss.STATUS_VALUE_GID = 'SALE ORDER STATUS_DELIVERED' GROUP BY s.SALES_PERSON_GID,s.CREATE_DATE
4条答案
按热度按时间u3r8eeie1#
您是否尝试过EXTRACT()?
我在11g的sql fiddle中试过这个,它在WHERE子句中也能工作。
http://sqlfiddle.com/#!4/fb2b09/2
2w3rbyxf2#
将DATE的年份部分显式转换为CHAR并将其与文字进行比较。对于年份和月份比较:
slhcrj9b3#
您的查询应该可以工作,但更好的替代方法是
祝你好运
b4wnujal4#
我用函数EXTRACT()完成了这个过程,它对我来说很好用。
我将在这里分享查询代码: