sql開發(fā)01
1、count()與group by
為什么根據(jù)
create_time分組之后,count(1)、count(DISTINCT r.source_cid)等會有不同的數(shù)值?為什么相同兩個表要進行反復(fù)左連接?
SELECT date(p.create_time) 日期,
count(distinct p.cid) 發(fā)布相冊的商戶數(shù)量,
count(distinct pp.cid) '發(fā)布相冊的商戶中新用戶數(shù)量(3日內(nèi)注冊)',
count(1) 發(fā)布相冊的數(shù)量,
count(DISTINCT r.source_cid) 有被下游同步相冊的商戶數(shù)量,
COUNT(DISTINCT r.cid) 同步相冊的下游商戶數(shù)量,
COUNT(DISTINCT r.id) 下游同步的相冊數(shù)量
FROM `jx_shop_post` p
left join isdb.jx_company t on t.id= p.cid
left join isdb.jx_company tt on tt.id= p.cid and tt.create_time >= DATE_ADD(now(),INTERVAL -3 day)
left join `jx_shop_post` pp on pp.cid = tt.id
LEFT JOIN `jx_goods_import_relation` r ON t.id = r.cid AND r.source = 'shopPost'
group by date(p.create_time)