查詢結果集
查詢限制條件
渠道每日來訪資料
各個渠道在各個日期的來訪使用者合計值,如同一客戶在同一天來訪多次,則計為最後一次來訪的渠道
select*,
count
(channel_name) _count
from
(select
p.id,
p.`see_time`
, p.
`channel_name`
, p.
`customer_id`
, p.
`event_date`
, p.
`wx_mini_option_config_id`
, p.
`visit_register_id`
, p.
`event_point`
, p.
`hit_point_visit_register_contract`
from
channel_data_map p
inner
join
(select
max(m.see_time)
as max_see_time,
m.*from
channel_data_map m
where m.
`event_point`
='來訪'
and(
m.`event_date`
between
'2019-12-24'
and'2019-12-27'
)and
( m.
`project_id`
='3bf62a5e5da5d'
)group
by m.event_date,
m.customer_id) q
on p.see_time = q.max_see_time
where p.
`event_point`
='來訪'
and(
p.`event_date`
between
'2019-12-24'
and'2019-12-27'
)and
( p.
`project_id`
='3bf62a5e5da5d'
)) z
group
by z.channel_name;
朋友找我幫忙,剛開始採用內層的group by 查詢,雖然查詢出來了每乙個客戶每一天的唯一一條訪問記錄,但是因為mysql 分組的預設取值順序無法指定,結果集並不對。因為 group by 的max(see_time)那條記錄是
準確的,這樣一來再次和未分組前的資料進行inner join,就是我們想要的結果集了.
新的一年第一篇部落格,2020加油!
group by 多個字段
網上查了很多好像說的都對,但是囉嗦,我看著都費勁 在現實的應用場景中 如果想要統計每個班的男生 女生的數量就可以group by 班級id,性別 如下 select class.name case when students.1 then 男 else 女 end as 1,count studen...
MYSQL 分組 group by 多個字段
sql語法的規定,用了group by,則select之後的字段除聚合函式外都必須出現在group by中,你可以少於group by中的字段,但不能包含group by中沒有的字段 select subject,semester,count from subject selection group...
GROUP BY 兩個字段
create table test a varchar 10 b varchar 10 c int insert into test values a 甲 1 insert into test values a 甲 1 insert into test values a 甲 1 insert int...