[英]Magento collection - nested where clause using addAttributeToFilter
[英]Using nested WHERE clause?
SELECT ymd,
creative_id,
sum(imps) as imps,
sum(booked_revenue_dollars) as booked_rev
FROM agg_dw_advertiser_publisher_analytics_adjusted
WHERE buyer_member_id=456
AND (sum(imps) > 500 WHERE ymd > current_date() - 14) #this part is wrong
GROUP BY 1,2
HAVING min(ymd) < current_date() - 14
ORDER BY 2,1 ASC;
ymd =年/月/日
我試圖過濾掉creative_id
,其中字段imps
的總和在過去2周中總計少於500。 我顯然沒有正確執行此操作,但是嘗試將其作為附加的HAVING
子句以及子查詢。 我究竟做錯了什么?
沒有這樣的概念稱為Nested WHERE 。 您可以像這樣修改您的HAVING
。
SELECT creative_id,
sum(imps) as imps,
sum(booked_revenue_dollars) as booked_rev
FROM agg_dw_advertiser_publisher_analytics_adjusted
WHERE buyer_member_id=456
GROUP BY creative_id
HAVING sum(imps) > 500 AND min(ymd) > current_date() - 14
ORDER BY 2,1 ASC;
這樣的事情(在我的頭頂)
SELECT ymd, creative_id,
sq.imps as imps,
sq.booked_rev as booked_rev
FROM agg_dw_advertiser_publisher_analytics_adjusted a
INNER JOIN
(
SELECT creative_id, sum(imps) as imps, sum(booked_revenue_dollars) as booked_rev
FROM agg_dw_advertiser_publisher_analytics_adjusted
WHERE buyer_member_id=456 and ymd > current_date() - 14
GROUP BY creative_id
) as sq
ON a.creative_id = sq.creative_id
WHERE buyer_member_id=456 and sq.imps > 500 and ymd > current_date() - 14
ORDER BY ymd,creative_id ASC;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.