为了给出上下文,我们尝试基于Yammer度量信息实现报告功能.
Yammer指标提供有关计时器和仪表的信息,如下所示,
METER_METRIC:
count = 1
mean rate = 0.01 count/s
1-minute rate = 0.00 count/s
5-minute rate = 0.00 count/s
15-minute rate = 0.00 count/s
TIMER_METRIC:
count = 1
mean rate = 0.01 calls/s
1-minute rate = 0.01 calls/s
5-minute rate = 0.00 calls/s
15-minute rate = 0.00 calls/s
min = 89.77ms
max = 89.77ms
mean = 89.77ms
stddev = 0.00ms
median = 89.77ms
75% <= 89.77ms
95% <= 89.77ms
98% <= 89.77ms
99% <= 89.77ms
99.9% <= 89.77ms …Run Code Online (Sandbox Code Playgroud) 我的SQL查询语句如下:
SELECT * FROM `sales_flat_order_grid` AS `main_table`
LEFT JOIN (SELECT * from `customer_address_entity_varchar`
WHERE attribute_id=31) AS `ce3`
ON main_table.customer_id=ce3.entity_id
Run Code Online (Sandbox Code Playgroud)
我需要将它翻译成Magento风格.我试过了
$collection = Mage::getResourceModel('sales/order_grid_collection');
$tel = Mage::getModel('eav/entity_attribute')->loadByCode('2', 'telephone');
$collection->getSelect()
->joinLeft(array('ce3' => 'customer_address_entity_varchar'), 'main_table.customer_id=ce3.entity_id', array('telephone' => 'value'))
->where('ce3.attribute_id='.$tel->getAttributeId())
Run Code Online (Sandbox Code Playgroud)
但是这不起作用,因为在连接之后应用了where语句导致查询总数小于sales_flat_order_grid.