zoukankan      html  css  js  c++  java
  • SQL语句的学习理解

    1.手电筒当天下载自定义活跃:

    SELECT
    
        user_dim.app_info.app_instance_id
    
      FROM
    
        [flashlight35-6aae4:com_scroll_sos_flashlight_ANDROID.app_events_20170328]
    
      WHERE
    
        (event_dim.name='自定义真活跃'
    
          OR event_dim.params.key='自定义真活跃')
    
        AND user_dim.app_info.app_instance_id IN (
    
        SELECT
    
          user_dim.app_info.app_instance_id
    
        FROM
    
          [flashlight35-6aae4:com_scroll_sos_flashlight_ANDROID.app_events_20170328]
    
        WHERE
    
          event_dim.name = 'first_open' )
    
      GROUP BY
    
        user_dim.app_info.app_instance_id ;
    Q: (event_dim.name='自定义真活跃'

         OR event_dim.params.key='自定义真活跃')

    使用时用哪个?

    A:使用时会有一个记录表,按照表格查询再写

     

    Q:为什么WHERE处用AND,不直接AND两个where?

    A:一个user对应的event是一个数组形式,或者同一个用户的event是不同log记录,应该是找出人群再AND

     

    2.查询一个国家有多少用户:

    SELECT
      user_dim.geo_info.country,
      COUNT(user_dim.geo_info.country )AS cnt
    FROM (
      SELECT
        user_dim.app_info.app_instance_id,
        user_dim.geo_info.country,
        COUNT(user_dim.geo_info.country )AS cnt
      FROM
        [antivirus-e1deb:com_androapplite_antivirus_antivirusapplication_ANDROID.app_events_20180118]
      GROUP BY
        user_dim.app_info.app_instance_id,
        user_dim.geo_info.country )
    GROUP BY
      user_dim.geo_info.country
    ORDER BY
      cnt DESC
    在From后面写是相当于形成了一个临时的列表,COUNT(user_dim.geo_info.country )中也可以写成user_dim.app_info.app_instance_id,*,其实只是相当于一条数据。
  • 相关阅读:
    32位和64位系统区别及int字节数
    C++默认参数不能是一个引用
    sprintf的缓冲区溢出
    linux之cp/scp命令+scp命令详解
    linux文件属性详细说明
    linux tar打包
    sed命令
    常用linux命令
    C++ 类T T t;构造时分配的内存在静态数据区 T t=new T()分配的内存在堆 这样说对吗
    Dom事件的三种绑定方式
  • 原文地址:https://www.cnblogs.com/xym4869/p/8477950.html
Copyright © 2011-2022 走看看