所以我得到的最接近的是我写的这个查询:
SELECT meta_key, meta_value
FROM wp_posts
LEFT OUTER JOIN wp_postmeta ON wp_posts.ID=wp_postmeta.post_id
WHERE post_type = "shop_order"
AND (
meta_key = "_billing_state"
OR meta_key = "_order_tax"
OR meta_key = "_order_total"
)
ORDER BY ID ASC
它返回:
meta_key meta_value
_billing_state NJ
_order_tax 0.21
_order_total 3.21
_billing_state NJ
_order_tax 1.75
_order_total 26.70
_billing_state IA
_order_tax 6.79
_order_total 103.54
_billing_state PA
_order_tax 1.82
_order_total 27.72
......等等。
我真正需要回归的是:
state order_tax_sum order_total_sum
NJ 1.96 29.91
IA 6.79 103.54
PA 1.82 27.72
非常感谢所有帮助!
答案 0 :(得分:3)
尝试这样的事情:
select
state,
sum(order_tax_sum),
sum(order_total_sum)
from (
select
(select meta_value from wp_postmeta pm1 where p.ID = pm1.post_id and meta_key = "_billing_state") as state,
(select meta_value from wp_postmeta pm2 where p.ID = pm2.post_id and meta_key = "_order_tax") as order_tax_sum,
(select meta_value from wp_postmeta pm3 where p.ID = pm3.post_id and meta_key = "_order_total") as order_total_sum
from
wp_posts AS p
WHERE post_type = "shop_order"
) A
group by A.state
警告 - 完全未经测试,但基本思路(加入select语句本身)应该是合理的