【问题标题】:List Magento customers that haven't ordered in the past 12 months列出过去 12 个月内未订购的 Magento 客户
【发布时间】:2015-03-25 23:28:47
【问题描述】:

在 Magento v1.9 中,我需要一个可以执行以下操作的 MYSQL 选择:

  • 列出过去 12 个月内未下订单的所有客户

谢谢!

【问题讨论】:

    标签: mysql magento filter orders


    【解决方案1】:

    基本上,您需要从未下过订单的客户或上次下单时间超过 12 个月的客户。 您可以使用客户集合来做到这一点:

    $date = new DateTime();
    $date->sub(new DateInterval('P12M'));
    $customers = Mage::getModel('customer/customer')->getCollection();
    $customers->getSelect()->joinLeft(
        array('o' => Mage::getSingleton('core/resource')->getTableName('sales/order')),
        'o.customer_id = e.entity_id',
        array(
            'last_order_date' => 'MAX(o.created_at)',
        )
    );
    $customers->groupByAttribute('entity_id')
        ->getSelect()
        ->having('last_order_date < ?',$date->format('Y-m-d'))
        ->orHaving('last_order_date IS NULL');
    

    或者如果你想要 mysql 就可以调用 $customers-&gt;getSelect();

    这将为您提供以下 MYSQL 查询

    SELECT `e`.*, MAX(o.created_at) AS `last_order_date` FROM `customer_entity` AS `e` LEFT JOIN `sales_flat_order` AS `o` ON o.customer_id = e.entity_id WHERE (`e`.`entity_type_id` = '1') GROUP BY `e`.`entity_id` HAVING (last_order_date < '2014-03-26') OR (last_order_date IS NULL)
    

    希望有帮助!

    【讨论】:

    • 效果很好,谢谢!您是否还可以在 MYSQL 查询中包括如何在电子邮件地址旁边添加客户姓名、地址和电话?我尝试使用: SELECT e.*, MAX(o.created_at) AS last_order_date, customer_firstname, customer_lastname FROM customer_entity AS e LEFT JOIN sales_flat_order AS o ON o.customer_id = e.entity_id WHERE (e.entity_type_id = '1') GROUP BY e.entity_id HAVING (last_order_date
    • 我不确定您将如何在 MYSQL 查询中执行此操作,但如果您在 PHP 中执行此操作,则可以将第 3 行更改为:$customers = Mage::getModel('customer/customer')-&gt;getCollection()-&gt;addAttributeToSelect('*');
    • 我想知道是否可以使用这种类型的代码只获得过去 12 个月内购买过的客户
    • 在 SO 上的每个人都有社会责任来教育他人 SO 礼仪,所以请阅读此stackoverflow.com/help/someone-answers
    猜你喜欢
    • 2020-09-13
    • 1970-01-01
    • 2020-04-02
    • 1970-01-01
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-16
    相关资源
    最近更新 更多