次のクエリは、同じ日の売上高を教えてくれます。また、新規ユーザー数とクレジット。
これは私の作業クエリです (うまくいきます!):
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 列があります。1 つのエントリの例:
date
: 2012-08-01 16:24:30
item
: xsalnx.sip.70
user_id
: 1337
status
:1
enswitch_mobile_users
また、 (id、creation_date、モバイル ID、...)から mobile_users の量を引き出し、特定の日付でグループ化します。
私がやろうとしているのは、購入したユーザーまたは新しいユーザーがテスターであるかどうかのテストを追加することです。もしそうなら、クエリでこのデータを無視したいです。
enswitch_testing_devices
(id, name, mobile_id) という名前のテーブルにテスターを保存しています
。
enswitch_mobile_users
そして、 (mobile_id 列)でデータを結合できます。
これまでのところ、私はそれを機能させようとしましたが、運がありませんでした..どうすればこのクエリを実行できますか?