常用SQL集錦

去掉重復(fù)數(shù)據(jù)沟饥,只保留一條

DELETE FROM 表名
WHERE id NOT IN 
    (SELECT nd.i FROM
        (SELECT MAX(id) i FROM 表名  GROUP BY 重復(fù)字段  HAVING COUNT(*) > 1 
        UNION 
        SELECT  MAX(id) i  FROM 表名  GROUP BY 重復(fù)字段  HAVING COUNT(*) = 1) nd
    )

保留id較大的那一條个粱,若MAX換成MIN則保留較小的那一條記錄。

行轉(zhuǎn)列 GROUP_CONCAT

函數(shù)默認(rèn)分隔符是 技潘,

原有數(shù)據(jù)

實(shí)例執(zhí)行后
語句:
SELECT name,GROUP_CONCAT(value [order by] [SEPARATOR '_']) from 表名 [where] group by name

實(shí)例:
select name,GROUP_CONCAT(value order by id desc SEPARATOR '_') as value from cap_dim where platform=1 and cate_name='機(jī)油' group by name

修改表字段的長(zhǎng)度

規(guī)則:
alter table 表名 modify column 列名 類型(要修改的長(zhǎng)度);
實(shí)例:
ALTER TABLE recommend.cap_sku MODIFY COLUMN tags varchar(2000);

分組獲取第一條數(shù)據(jù)

name  score  type
張三    89     1
李四    58     1
王五    80     2
馬六    35     2
周七    95     3

要求查詢結(jié)果
name  score  type
張三    89     1
王五    80     2
周七    95     3

SQL為
select * from (
    select * from stu group by type, score desc
    ) as base
group by type

再舉個(gè)SQL例子
 select url,shop_url from (
   select * from cap_sku where platform=1 and shop_name not like '%京東自營%' group by shop_url desc
    ) as base
 group by shop_url

計(jì)算某一張表舟扎,或者數(shù)據(jù)庫的大小

下面的SQL是計(jì)算recommend庫的2張表大小分飞,如果去掉表就是整個(gè)庫大小
結(jié)果是字節(jié)悴务,所以除以1024是K睹限,再除以1024是M,再除以1024是G
SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH) FROM information_schema.TABLES WHERE TABLE_SCHEMA='recommend' AND TABLE_NAME in ('cap_sku','cap_review')

從2018年1月1日截至到現(xiàn)在讯檐,一共有多少秒羡疗,多少天,多少周别洪,多少月

SQL 語句
語法為:TIMESTAMPDIFF(unit,datetime1,datetime2)叨恨,
其中unit單位有如下幾種,分別是:FRAC_SECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or YEAR挖垛。
現(xiàn)在是 2018年8月20日 10:00

以下語句分別是:秒痒钝,天,周痢毒,月
SELECT TIMESTAMPDIFF(SECOND, "2018-01-01 00:00:00",now())       19994311
SELECT TIMESTAMPDIFF(DAY, "2018-01-01 00:00:00",now())     231
SELECT TIMESTAMPDIFF(WEEK, "2018-01-01 00:00:00",now())   33
SELECT TIMESTAMPDIFF(WEEK, "2018-01-01 00:00:00",now())    7

計(jì)算活躍用戶留存(次日送矩,7日等)

select dt,
count(distinct cookie) as uv,
count ( distinct case when intv = 1 then cookie else null end ) as retain1_uv,
count ( distinct case when intv = 1 then cookie else null end )/ count(distinct cookie) as retain1_rate 
from 
( select 
a.dt , 
a.cookie ,
datediff(b.dt,a.dt) as intv
from 
( select distinct dt, deviceid as cookie 
from table
where dt>=date_sub('2018-09-20',1) and dt<='2018-11-14'
and xxx
) a 
left outer join 
( select distinct dt, deviceid as cookie 
from table
where dt>=date_sub('2018-09-20',1) and dt<='2018-11-14'
and xxx
) b on a.cookie= b.cookie 
) c 
group by dt;
結(jié)果為
日期            DAU   次日活躍   留存
2018-09-20      82      48      0.5853658537
2018-09-21      120     21      0.175
2018-09-22      273     16      0.05860805860805861
2018-09-23      761     20      0.026281208935611037
2018-09-24      1289    45      0.03491078355314197

計(jì)算新用戶留存(次日,7日)

select dt, 
count(distinct cookie) as new_uv,
-- count ( distinct case when intv = 0 then cookie else null end ) as retain0_user ,
count ( distinct case when intv = 1 then cookie else null end ) as iretain1_newuv,
count ( distinct case when intv = 1 then cookie else null end )/ count(distinct cookie) as retain1_rate 
from 
( select 
a.dt , 
a.cookie ,
datediff(b.dt,a.dt) as intv
from 
( select distinct dt, upper(device_id) as cookie 
from table
where dt>=date_sub('${yyyy-mm-dd[-1]}',1) and dt<='${yyyy-mm-dd[-1]}' and is_new_user=1 
and app_key in (
xxx
) a 
left outer join 
( select distinct dt, upper(device_id) as cookie 
from table
where dt>=date_sub('${yyyy-mm-dd[-1]}',1) and dt<='${yyyy-mm-dd[-1]}'
and app_key in (xxx
) b on a.cookie= b.cookie 
) c 
group by dt

時(shí)間按月分組

select  date_format(dt, 'yyyyMM'),count(distinct device_id) as uv  from ods.o_p04_app_client_data_i WHERE dt >= '2015-01-01' AND dt<='2015-12-31' and app_key in ('wz_ios','wz_android')  group by date_format(dt, 'yyyyMM')
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末哪替,一起剝皮案震驚了整個(gè)濱河市栋荸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌凭舶,老刑警劉巖晌块,帶你破解...
    沈念sama閱讀 222,946評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異帅霜,居然都是意外死亡匆背,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門身冀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钝尸,“玉大人蜂大,你說我怎么就攤上這事〉” “怎么了奶浦?”我有些...
    開封第一講書人閱讀 169,716評(píng)論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)踢星。 經(jīng)常有香客問我澳叉,道長(zhǎng),這世上最難降的妖魔是什么沐悦? 我笑而不...
    開封第一講書人閱讀 60,222評(píng)論 1 300
  • 正文 為了忘掉前任包归,我火速辦了婚禮,結(jié)果婚禮上矢腻,老公的妹妹穿的比我還像新娘敲茄。我一直安慰自己,他們只是感情好副签,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,223評(píng)論 6 398
  • 文/花漫 我一把揭開白布遥椿。 她就那樣靜靜地躺著,像睡著了一般淆储。 火紅的嫁衣襯著肌膚如雪冠场。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,807評(píng)論 1 314
  • 那天本砰,我揣著相機(jī)與錄音碴裙,去河邊找鬼。 笑死点额,一個(gè)胖子當(dāng)著我的面吹牛舔株,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播还棱,決...
    沈念sama閱讀 41,235評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼载慈,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了诱贿?” 一聲冷哼從身側(cè)響起娃肿,我...
    開封第一講書人閱讀 40,189評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎珠十,沒想到半個(gè)月后料扰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,712評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡焙蹭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,775評(píng)論 3 343
  • 正文 我和宋清朗相戀三年晒杈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片孔厉。...
    茶點(diǎn)故事閱讀 40,926評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拯钻,死狀恐怖帖努,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情粪般,我是刑警寧澤拼余,帶...
    沈念sama閱讀 36,580評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站亩歹,受9級(jí)特大地震影響匙监,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜小作,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,259評(píng)論 3 336
  • 文/蒙蒙 一亭姥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧顾稀,春花似錦达罗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至诡宗,卻和暖如春滔蝉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背塔沃。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評(píng)論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留阳谍,地道東北人蛀柴。 一個(gè)月前我還...
    沈念sama閱讀 49,368評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像矫夯,于是被迫代替她去往敵國和親鸽疾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,930評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理训貌,服務(wù)發(fā)現(xiàn)制肮,斷路器,智...
    卡卡羅2017閱讀 134,719評(píng)論 18 139
  • MYSQL 基礎(chǔ)知識(shí) 1 MySQL數(shù)據(jù)庫概要 2 簡(jiǎn)單MySQL環(huán)境 3 數(shù)據(jù)的存儲(chǔ)和獲取 4 MySQL基本操...
    Kingtester閱讀 7,820評(píng)論 5 116
  • 如果您的心中想到失敗递沪,您就失敳虮恰! 如果您沒有必勝的決心款慨,絕無任何成就儒飒! 縱使您想要得到勝利i,只要浮現(xiàn)失敗的字眼檩奠,...
    陳東Growth閱讀 824評(píng)論 0 0
  • 手機(jī)沒電了 世界突然清凈了 我在想接著可以干些什么 想想就興奮桩了。
    留子堯閱讀 258評(píng)論 0 2
  • 01附帽、 其實(shí)他是一只鬼,一只剛剛奪人神志強(qiáng)行附在人身的惡鬼井誉。 02蕉扮、 他接管了這具身體,注視著這陌生的城市颗圣,他死了...
    離塵丶閱讀 727評(píng)論 11 5