我目前正在研究一个查询,该查询将与共享点结合使用以运行报告。我有一个查询,我知道可以使用 Oracle,但我工作的公司正在运行 SQL Server 2005。
报告将做的是让人们能够选择任何日期和时间,并为该特定操作提供计数。问题是时间戳有很大的差距(因为产品需要一点时间才能进入下一个操作)。日期类型是 varchar,所以我使用子字符串来解析出年、月、日和时间。我有可用的样本数据。
查看报告的人希望能够在这个时间和日期说出有多少单位经历了这次行动。
我知道这很令人困惑,如果您需要任何澄清,请告诉我。
这是oracle语法
SELECT T3.PAYMENT_DATE, T3."Hr", T3."Min",
(SELECT COUNT(*)
FROM INVOICE_ARCHIVE T4
WHERE TO_NUMBER(TO_CHAR(T4.PAYMENT_DATE, 'MM')) <= T3."Hr"
AND TO_NUMBER(TO_CHAR(T4.PAYMENT_DATE, 'DD')) <= T3."Min") AS "NUM"
FROM(SELECT T1.PAYMENT_DATE, T2."Hr", T2."Min"
FROM (SELECT (FLOOR((LEVEL + 359)/60)) AS "Hr",
MOD((LEVEL + 359), 60) AS "Min"
FROM dual CONNECT BY LEVEL <= 961) T2, INVOICE_ARCHIVE T1
ORDER BY T1.PAYMENT_DATE, T2."Hr", T2."Min") T3