sql.py 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. class Sql:
  2. # 获取项目的城市信息
  3. sql_1 = """
  4. select brand_id, house_id, house_name, city from d_house a where status = 1
  5. """
  6. # 根据任务id获取推送客户信息
  7. sql_2 = """
  8. select a.task_key, a.customer_id, b.customer_type, b.name, b.mail, GROUP_CONCAT(c.house_or_brand_id) as ids
  9. from report_task_info a left join report_push_customer_info b on b.id = a.customer_id
  10. left join report_customer_authority_info c on b.id = c.customer_id
  11. where a.task_key = %s and a.status = b.status = c.status = 1
  12. group by a.task_key, a.customer_id, b.customer_type, b.name, b.mail
  13. """
  14. # 1:总浏览量
  15. #
  16. # 集团部分+项目部分!!!
  17. # ----项目PV--权限项目范围内,求和
  18. # 参数:时间区间 和 项目列表
  19. sql_3 = """
  20. SELECT SUM(pv) AS pv1 FROM a_idfa_behavior_sum
  21. WHERE report_d >= %s and report_d <= %s AND house_id IN %s
  22. """
  23. # ----集团PV--权限项目范围内,求和
  24. # 参数:数据区间和项目列表
  25. sql_4 = """
  26. SELECT SUM(pv) AS pav2 FROM a_behavior_brand_mini_day
  27. WHERE report_d >= %s and report_d <= %s AND house_id IN %s
  28. """
  29. # 2:总浏览人数
  30. #
  31. # 参数,数据区间, 项目列表
  32. sql_5 = """
  33. SELECT
  34. count(
  35. DISTINCT IFNULL(mobile, user_id)
  36. ) as people
  37. FROM
  38. (
  39. SELECT
  40. A.user_id,
  41. B.mobile
  42. FROM
  43. a_idfa_behavior_sum A
  44. LEFT JOIN d_user B ON A.user_id = B.user_id
  45. WHERE
  46. A.report_d >= %s and A.report_d <= %s
  47. AND A.house_id IN %s
  48. UNION
  49. SELECT
  50. A.brand_user_id AS user_id,
  51. B.mobile
  52. FROM
  53. a_behavior_brand_mini_day A
  54. LEFT JOIN a_brand_app_customer B ON A.brand_user_id = B.brand_customer_id
  55. WHERE
  56. A.report_d >= %s and A.report_d <= %s
  57. AND A.house_id IN %s
  58. ) t1
  59. """
  60. # 3:新增获客
  61. sql_6 = """
  62. SELECT
  63. count(
  64. DISTINCT IFNULL(mobile, user_id)
  65. )
  66. FROM
  67. (
  68. SELECT
  69. user_id,
  70. mobile,
  71. created
  72. FROM
  73. d_user
  74. WHERE
  75. created >= %s
  76. AND created <= %s
  77. AND house_id IN %s
  78. AND source ='3'
  79. UNION
  80. SELECT
  81. brand_customer_id AS user_id,
  82. mobile,
  83. rlat_created
  84. FROM
  85. a_brand_app_customer_house_rlat
  86. WHERE
  87. rlat_created >= %s
  88. AND rlat_created <= %s
  89. AND rlat_house_id IN %s
  90. AND cust_house_flag ='1'
  91. ) t1
  92. """
  93. # 4:新增获电
  94. sql_7 = """
  95. SELECT
  96. COUNT(DISTINCT mobile)
  97. FROM
  98. (
  99. SELECT
  100. user_id,
  101. mobile,
  102. wx_phone_time AS created
  103. FROM
  104. d_user
  105. WHERE
  106. wx_phone_time >= %s
  107. AND wx_phone_time <= %s
  108. AND house_id IN %s
  109. and source = '3'
  110. UNION
  111. SELECT
  112. brand_customer_id,
  113. mobile,
  114. houdian_time AS created
  115. FROM
  116. (
  117. SELECT
  118. *,
  119. CASE
  120. WHEN rlat_created > shouquan_time THEN
  121. rlat_created
  122. ELSE
  123. shouquan_time
  124. END AS houdian_time
  125. FROM
  126. a_brand_app_customer_house_rlat
  127. WHERE
  128. mobile IS NOT NULL
  129. AND rlat_house_id IN %s
  130. AND cust_house_flag = '1'
  131. ) t1
  132. WHERE
  133. houdian_time >= %s
  134. AND houdian_time <= %s
  135. ) t1
  136. """
  137. pass