【发布时间】:2021-02-19 14:46:10
【问题描述】:
使用 Get orders total purchases amount for the day in Woocommerce 回答代码,返回 woocommerce 订单的总值,它工作正常,但问题是如果我想排除 _billing_first_name 键没有的所有订单 abc 值,就像在此代码尝试中一样:
global $wpdb;
return $wpdb->get_var( "
SELECT DISTINCT SUM(pm.meta_value)
FROM {$wpdb->prefix}posts as p
INNER JOIN {$wpdb->prefix}postmeta as pm ON p.ID = pm.post_id
WHERE p.post_type LIKE 'shop_order'
AND p.post_status IN ('wc-processing','wc-completed')
AND UNIX_TIMESTAMP(p.post_date) >= (UNIX_TIMESTAMP(NOW()) - (86400))
AND pm.meta_key LIKE '_order_total'
AND NOT (pm.meta_value = 'abc')
" );
我尝试了很多方法都没有运气,感谢任何帮助
【问题讨论】:
-
有一种比你的答案更流畅的方式,见下文。
-
只是观察一下,您极不可能(尽管并非不可能)故意将 DISTINCT 修饰符与聚合函数结合使用
标签: php mysql sql wordpress woocommerce