Sql 每天计数和求和多个不带联接的表
我要计算订单数量、发票交付量和每天订单数量、发票交付量的总和。 像这样:Sql 每天计数和求和多个不带联接的表,sql,Sql,我要计算订单数量、发票交付量和每天订单数量、发票交付量的总和。 像这样: date nb orders orders$ nb delivery day1 5 1234,56 3 day2 6 665,88 7 .. 我第一次尝试这种方法时,一天可以,但一周不行,例如: SELECT (SELECT COUNT(OPP.OPPNUM_0) FROM OPPOR OPP WHERE OPP.CREDAT
date nb orders orders$ nb delivery
day1 5 1234,56 3
day2 6 665,88 7
..
我第一次尝试这种方法时,一天可以,但一周不行,例如:
SELECT
(SELECT COUNT(OPP.OPPNUM_0) FROM OPPOR OPP WHERE OPP.CREDAT_0=%1%),
(SELECT SUM(OPP.OPPAMT_0) FROM OPPOR OPP WHERE OPP.CREDAT_0=%1%),
(SELECT COUNT(SQH.SQHNUM_0) FROM SQUOTE SQH WHERE SQH.CREDAT_0=%1%),
(SELECT SUM(SQH.YCUMHTSEL_0) FROM SQUOTE SQH WHERE SQH.CREDAT_0=%1%),
(SELECT COUNT(SOH.SOHNUM_0) FROM SORDER SOH WHERE SOH.CREDAT_0=%1%),
(SELECT SUM(SOH.ORDNOT_0) FROM SORDER SOH WHERE SOH.CREDAT_0=%1%)
FROM dual
MySQL提供内置查询功能,可按天过滤:
SELECT COUNT(*) FROM table_name WHERE anydatefiled >= NOW() - INTERVAL 1 DAY
如果OPP.CREDAT是一个日期,则使用介于而不是=。请添加您在Tag上使用的DBMS我不认为您可以在此处避免联接,因为即使您的查询不包含联接kehywords,DBMS仍必须像联接(或叉积)中那样混合和匹配值你能做的就是使用半连接技术来减少任何连接开销。你能详细说明一下为什么你不想做
join
s吗?这只是性能问题吗?如果是这样,您可以使用其他技术来提高JOIN
s的性能。