查找每天在每个国家/地区首次下订单的用户数量

ebu*_*168 -1 mysql sql

我有 2 个表,看起来像:

user_dataset
+------+---------------+------------+
|userid| Register_time |    Country | 
+------+---------------+------------+
|    1 |  03/02/17     |      TW    |     
|    2 |  20/03/17     |      SG    |     
|    3 |  26/03/17     |      PH    |   
|    4 |  05/02/17     |      VN    | 
|    5 |  01/10/17     |      ID    | 
|    6 |  03/09/17     |      MY    |  
|   ...|  ........     |      ...   | 
+------+---------------+------------+

order_dataset
+--------+--------+------------+--------+------------+
|orderid | userid |    itemid  |  gmv   | order_time |
+--------+--------+------------+--------+------------+
|1030132 |  3     |  3366770   |  27,0  |  24/04/17  |   
|1030137 |  5     |  6130641   |  69,0  |  02/02/17  |     
|1030147 |  1     |  6770063   |  87,0  |  25/04/17  |    
|1030153 |  6     |  4193426   |  82,0  |  05/11/17  |   
|1030155 |  4     |  8825994   |  29,0  |  03/07/17  |   
|1030160 |  2     |  5660916   |  44,0  |  30/01/17  |   
|....... | ...    |      ...   |  ...   |     ...    |   
+--------+--------+------------+--------+------------+
Run Code Online (Sandbox Code Playgroud)

有人告诉我写一条 SQL 语句来查找每天在每个国家/地区首次下订单的用户数量。

我不明白这个问题,有人可以向我解释输出是什么样的吗?我不是在问查询,但如果有人愿意写它会很棒。

先感谢您

for*_*pas 5

将表连接user_dataset到从order_dataset每个userid和聚合的第一个订单的日期返回的查询:

select u.country, o.order_time, count(*) counter
from user_dataset u inner join (
  select userid, min(order_time) order_time 
  from order_dataset
  group by userid
) o on o.userid = u.userid
group by u.country, o.order_time
Run Code Online (Sandbox Code Playgroud)

如果有用户在同一天下过 2 个订单的情况,则不要count(*)使用count(distinct userid).