以下查询告诉我同一天有多少销售额。还有多少新用户和积分。
这是我的工作查询(效果很好!):
SELECT Substring(purchase.`date`,1,10) AS `DayDate`,
Sum(Cast(Substring(purchase.`item`, 12) AS UNSIGNED)) AS `Credit`,
Count(1) AS `Sales`,
(SELECT Count(*) FROM enswitch_mobile_users WHERE Date(purchase.`date`) = Substring(enswitch_mobile_users.`creation_date`,1,10)) AS `New_users`
FROM (SELECT item, date
FROM enswitch_new_iphone_purchases WHERE `status`=1
UNION
SELECT item, date
FROM enswitch_new_android_purchases WHERE `status`=1) AS `purchase`
WHERE purchase.`date` >= :from_date AND purchase.`date` <= :to_date
GROUP BY `DayDate`
ORDER BY `DayDate` DESC
我在这里搜索 3 个表。
enswitch_new_android_purchases
enswitch_new_iphone_purchase
它们都有 item、user_id、status 和 date 列。一个条目的示例:
date
: 2012-08-01 16:24:30
item
: xsalnx.sip.70
user_id
: 1337
status
:1
还从 (id, creation_date, mobile id, ...) 中提取 mobile_users 数量enswitch_mobile_users
并按特定日期分组。
如果购买的用户或新用户是测试人员,我想要做的是添加测试。如果是这样,我想在我的查询中忽略这些数据。
我将测试人员保存在名为:
enswitch_testing_devices
(id, name, mobile_id) 的表上。
我可以使用enswitch_mobile_users
(mobile_id 列)加入数据。
到目前为止,我试图让它工作但没有运气.. 我该怎么做这个查询?