精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

你在工作中常用到的那些SQL

數(shù)據(jù)庫
這篇文章來記錄一下我曾經(jīng)忘掉的group查詢、join查詢等一些比較實用/常用的SQL。

[[272989]]

這篇文章來記錄一下我曾經(jīng)忘掉的group查詢、join查詢等一些比較實用/常用的SQL。

本文主打通俗易懂,不涵蓋任何優(yōu)化(適合新手觀看)

一、回顧group 查詢

group查詢就是分組查詢,為什么要分組查詢?因為我們想按某個維度進(jìn)行統(tǒng)計。下面來看個圖: 

 

現(xiàn)在我的數(shù)據(jù)如下  

比如說,我想知道:每天Java3y這個公眾號的點擊量是多少。按我們?nèi)斯ざ裕悸泛芎唵危喊严嗤奶鞌?shù)以及公眾號名稱為Java3y的數(shù)據(jù)找出來,再將每個點擊量相加,就得出了結(jié)果了。

 

 

步驟

 

 

用上SQL我們可能會這樣寫:

  1. select name,time,sum(pv) as pv from xxx_table where name = 'Java3y' group by name,time 

1.1 group 查詢可能存在的誤解

記得有一天,有個群友在群上問了一個問題:

 

 

群里邊的一個問題

 

 

其實他的需求很簡單:檢索出數(shù)據(jù)分組后時間最高的記錄。但他是這樣干的:

  1. 把先按照時間 order by
  2. 對order by后的記錄進(jìn)行分組

示例圖:

 

 

群里面的一個圖

 

 

1.2 造成這個誤解的可能原因

有的工具可以支持這種的寫法:

  1. select * from xxx_table group by name 

這種寫法沒有被禁止,并可以得出結(jié)果,比如得到的結(jié)果是:

  1. Java4y 20 7月15號
  2. Java3y 30 7月15號 

這種寫法其實是不合理的,要知道的是:使用group by分組統(tǒng)計之后,我們的select 后面只能跟著group by 的字段,或者是聚合函數(shù)。

 

 

group by規(guī)則 

因為,我們對數(shù)據(jù)進(jìn)行了分組查詢,數(shù)據(jù)的分布情況,我們是不關(guān)心的。

記住:先分組,后統(tǒng)計(先把數(shù)據(jù)歸類后,再對相同的數(shù)據(jù)進(jìn)行統(tǒng)計)

1.3 group查詢常用的SQL

去重是我們經(jīng)常會遇到的問題,打個比方說,由于各種原因(不管是業(yè)務(wù)上還是說是臟數(shù)據(jù)),現(xiàn)在我有兩條重復(fù)的數(shù)據(jù)(除了ID,其余的字段都是相同的):

 

 

重復(fù)的數(shù)據(jù) 

我這邊只希望留下某一條記錄作為查詢結(jié)果就好了,我們可以寫下以下的SQL:

  1. select * from user where id inselect min(id) from user where name = 'Java3y' and pv = 20 and time='7-25' group by name,pv,time;) 

上面這條SQL是非常非常實用的,除了我說的去重以外,其實我們可以再”思考“一下:

上面已經(jīng)說了,使用group by分組統(tǒng)計之后,我們的select 后面只能跟著group by 的字段,或者是聚合函數(shù)。

很多時候我們group by了以后,還想要查詢結(jié)果中包含group by之外的字段(一般情況下,我們都不可能將group by 涵蓋所有的字段),我們就可以上面那樣,將查詢后的結(jié)果作為子查詢,放在外部查詢的where 子句后,這樣外部查詢是可以select 出其他字段的。

(SQL寫得比較少的朋友可能沒什么感觸啊,但我希望上面那種寫法大家能夠記住,以后一定會遇到類似的情況的)

二、回顧join查詢

join查詢不知道大家在剛學(xué)的時候是怎么理解的,反正我當(dāng)初好像就挺迷迷糊糊的。我覺得join查詢可以簡單理解成這樣:我想要的查詢結(jié)果,一張表搞不掂,那我就join另一張表

比如說,現(xiàn)在我有兩張的表:

 

第一張表 

 

第二張表 

 

現(xiàn)在我想知道在7月25號時:每個公眾號的點擊量、公眾號名稱、號主名稱、公眾號的創(chuàng)建日期

  • 顯然,我們會發(fā)現(xiàn)一張表搞不掂啊,某些數(shù)據(jù)要依賴于另一張表才能把數(shù)據(jù)"完整"展示出來

那join其實就是把兩張表合起來的一個操作: 

 

join其實就是一個合并的操作  

兩張表合并起來以后我們就會發(fā)現(xiàn),這張“大表”就含有這兩張表的所有字段啦,那我想要什么都有了!

值得注意的是:在join的時候,會產(chǎn)生笛卡爾積(至于什么是笛卡爾積我這里就不說了,反正我們要記住的是join表時一定要寫關(guān)聯(lián)條件去除笛卡爾積)

另外,left join和right join也是我們經(jīng)常用到,如果我們單純寫join關(guān)鍵字,那會被當(dāng)成是inner join 。下面我簡單解釋一下:

  • 上面說了,在join的時候一定要寫關(guān)聯(lián)條件,如果是inner join的話,只有符合關(guān)聯(lián)條件的數(shù)據(jù)才會存在最大表中
  • 如果是left join的話,即便關(guān)聯(lián)條件不符合,左邊表的數(shù)據(jù)一定會存在大表中
  • 如果是right join的話,即便關(guān)聯(lián)條件不符合,右邊表的數(shù)據(jù)一定會存在大表中

看下面的圖: 

 

join 

此時我們的兩張表關(guān)聯(lián)的條件是“公眾號” :如果是inner join,那么最后我們的表只有兩條記錄。如果是left join ,那么最后我們的表有三條數(shù)據(jù)。如果是right join,那么我們最后的表只有兩條數(shù)據(jù)

三、回顧case when

SQL中的case when then else end用法其實跟我們程序語言中的if-else很是類似,在寫SQL的時候也常常會用到。

我用得比較多的語法如下:

  1. CASE 
  2. WHEN sex = '1' THEN '男' 
  3. WHEN sex = '2' THEN '女'
  4. ELSE '其他' END 

在when后面可以跟多個表達(dá)式,比如說: 

  1. CASE 
  2. WHEN sex = '1' and name ='Java3y' THEN '男' 
  3. WHEN sex = '2' and name ='Java4y' THEN '女'
  4. ELSE '其他' END 

如果要為case when表達(dá)式取別名,在end 關(guān)鍵字后邊直接加就好了

更多用法詳情參考:

  • https://www.cnblogs.com/prefect/p/5746624.html

四、一些常用的函數(shù)

4.1 hive和presto解析json

我這邊會有這種情況:將json數(shù)據(jù)存到MySQL上。我去網(wǎng)上搜了一下以及問了同事,為什么要將json存到MySQL的字段上時,他們的答復(fù)都差不多:

  • 在MySQL存json數(shù)據(jù),這樣方便擴展啊。如果那些字段不需要用到索引,改動比較頻繁,你又不想改動表的結(jié)構(gòu),那可以存json。
  • ps:在MySQL 5.7版本以后支持json類型

參考資料:

  • https://cloud.tencent.com/developer/article/1004449
  • https://www.zhihu.com/question/324674084/answer/685522547

我這邊做報表一般來hive或presto上搞的,所以解析json的也是在那上面。

hive解析json函數(shù): 

  1. get_json_object(param1,'$.param2' 
  2. -- 如果是數(shù)組  
  3. get_json_object(xjson,'$.[0].param2' 

presto 對json的處理函數(shù): 

  1. -- 數(shù)組 (去除第index個json)  
  2. json_array_get(xjson,index 
  3. -- 單個jsoin對象  
  4. json_extract(xjson,'$.param2' 

參考資料:

  • https://www.cnblogs.com/drjava/p/10536922.html

4.2 時間函數(shù)

昨天/近7天/本月按照這種指標(biāo)來查詢也是非常常見的:

昨天

  1. SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 時間字段名) <= 1 

7天 

  1. SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(時間字段名) 

近30天

  1. SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(時間字段名) 

本月 

  1. SELECT * FROM 表名 WHERE DATE_FORMAT( 時間字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) 

上一月

  1. SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 時間字段名, '%Y%m' ) ) =1 

在presto中使用時間格式,需要明確寫出關(guān)鍵字timestamp,比如:

  1. select supplier,count(id) from xxx_table where sendtime >= timestamp '2019-06-01' 

參考資料:

  • https://blog.csdn.net/cool_easy/article/details/50880949

4.3 其他常用的函數(shù)

這里我簡單整理一下我最近用過函數(shù):

  1. length  --計算字符串長度 
  2. concat  --連接兩個字符串 
  3. substring -- 截取字符串 
  4. count   -- 統(tǒng)計數(shù)量 
  5. max   -- 最大 
  6. min   -- 最小 
  7. sum   -- 合計 
  8. floor/ceil  --...數(shù)學(xué)函數(shù) 

再來分享一下最近遇到的一個需求,現(xiàn)在有的數(shù)據(jù)如下:

  1. 【Java3y簡單】快樂學(xué)習(xí) 
  2. 【Java3y簡單】快樂學(xué)習(xí)渣渣 
  3. 【Java3y通俗易懂】簡單學(xué) 
  4. 【Java3y通俗易懂】簡單學(xué)芭芭拉 
  5. 【Java3y平易近人】無聊學(xué) 
  6. 【Java3y初學(xué)者】枯燥學(xué) 
  7. 【Java3y初學(xué)者】枯燥學(xué)呱呱 
  8. 【Java3y大數(shù)據(jù)】欣慰學(xué) 
  9. 【Java3y學(xué)習(xí)】巴拉巴拉學(xué) 
  10. 【Java3y學(xué)習(xí)】巴拉巴拉學(xué)哈哈 
  11. 【Java3y好】雨女無瓜學(xué) 

現(xiàn)在我統(tǒng)計出【】括號里邊出現(xiàn)的頻次,比如說:Java3y通俗易懂出現(xiàn)的頻次是多少。當(dāng)時一直都沒想到好的思路,都快要搜“SQL 正則表達(dá)式 快速入門”了,請教了一下同事,同事很快就寫出來了:

  1. select substring_index(left(title , INSTR(title , '】') -1 ) , '【',-1) FROM `xxx_table` 

哇~,awesome

責(zé)任編輯:龐桂玉 來源: Java團長
相關(guān)推薦

2021-10-27 17:57:35

設(shè)計模式場景

2021-09-23 15:13:02

Spring依賴Java

2021-08-28 11:47:52

json解析

2020-05-13 21:09:10

JavaScript前端技術(shù)

2023-11-26 17:47:00

數(shù)據(jù)分析

2017-11-21 15:34:15

Linux 開發(fā)開源

2024-04-28 11:22:18

2022-12-13 08:23:25

CSS前端漸變

2021-04-14 17:34:18

線程安全

2019-12-11 15:21:12

PythonExcel瀏覽器

2021-11-03 06:57:41

Vue源碼應(yīng)用

2024-01-05 09:13:35

2024-04-15 00:10:00

Redis數(shù)據(jù)庫

2024-02-28 07:53:30

Redis數(shù)據(jù)存儲數(shù)據(jù)庫

2018-05-10 16:02:48

Android程序贈工具

2022-09-30 09:26:35

JavaScript技巧

2024-11-25 09:08:10

Redis高頻應(yīng)用場景

2022-09-25 22:56:52

JavaScrip編程技巧

2021-06-07 14:36:58

iPadSiri辦公

2025-05-27 07:00:00

AI工具GenAI人工智能
點贊
收藏

51CTO技術(shù)棧公眾號

日韩精品一级中文字幕精品视频免费观看| 日韩三级精品| 国产精品成人免费精品自在线观看| 国产噜噜噜噜噜久久久久久久久| 国产不卡在线观看视频| 激情小说亚洲| 一区二区三区精密机械公司| 精品日本一区二区| 波多野结衣视频免费观看| 水蜜桃久久夜色精品一区| 日韩欧美亚洲另类制服综合在线| 黄色大片在线免费看| 毛片在线播放网址| 国产资源在线一区| 57pao成人永久免费视频| 国产精品久久久久久久av| 日本在线一区二区三区| 精品日韩美女的视频高清| 亚洲一区二三| 亚洲欧美色视频| 久久99久久99小草精品免视看| 高清欧美性猛交xxxx黑人猛交| 97在线观看免费视频| 日本在线视频一区二区三区| 在线视频国产一区| 欧美中日韩在线| jizzjizz在线观看| 成a人片国产精品| 国产在线视频不卡| 国产又粗又爽视频| 伊人久久亚洲热| 久久精品最新地址| 日韩乱码人妻无码中文字幕久久| 清纯唯美激情亚洲| 欧美日韩激情一区| 麻豆av免费在线| 丰满的护士2在线观看高清| 欧美国产一区二区在线观看| 精品亚洲第一| 狠狠综合久久av一区二区| 韩国av一区二区三区在线观看| 国产va免费精品高清在线| 国产一卡二卡在线| 欧美女人交a| 精品国产一区二区三区久久久| 黄色国产在线观看| 红杏视频成人| 欧美xxx久久| 在线免费黄色小视频| 秋霞国产精品| 欧美视频一区二| 免费看黄色一级大片| 超碰一区二区| 色综合中文字幕| jizzjizz国产精品喷水| 麻豆蜜桃在线观看| 精品国产乱码久久久久久天美 | 隣の若妻さん波多野结衣| 韩国精品久久久| 91理论片午午论夜理片久久| 国产精品久久久久久免费免熟| 六月丁香婷婷久久| 国产欧美中文字幕| 国产精品久久久久久免费播放| 久久福利资源站| 成人免费视频网| 国产免费黄色网址| 国产精品一二三| 高清不卡一区二区三区| 黄色av一区二区三区| caoporm超碰国产精品| 精品一区久久久| 欧洲亚洲精品视频| 国产农村妇女毛片精品久久麻豆| 色噜噜狠狠色综合网| av片在线看| 亚洲色图都市小说| 国产www免费| 亚洲人成在线网站| 在线视频你懂得一区| 日韩在线一区视频| gogo久久日韩裸体艺术| 日韩经典一区二区三区| 最近中文字幕在线mv视频在线 | 日日摸天天添天天添破| 久久最新视频| 成人a免费视频| 老熟妇高潮一区二区高清视频| 久久这里只有精品首页| 亚洲开发第一视频在线播放| 2024短剧网剧在线观看| 亚洲制服丝袜av| 成人免费观看视频在线观看| 成人黄页网站视频| 欧美成人a∨高清免费观看| 国产高清自拍视频| 亚洲成人99| 97视频在线观看成人| 中文字幕免费高清在线观看| 国产麻豆精品theporn| 久久精品国产精品国产精品污 | 国产精品igao网网址不卡| 一区二区三区四区精品视频| 亚洲欧美日韩第一区| 搜索黄色一级片| 亚洲欧美日韩精品一区二区| 成人精品久久av网站| 日本韩国免费观看| 国产精品卡一卡二| 国产特级淫片高清视频| 亚洲一区av| 亚洲免费一在线| 波多野结衣亚洲色图| 丝袜亚洲另类欧美| 国产精品亚洲综合| 思思99re6国产在线播放| 亚洲高清一区二区三区| 亚洲精品自拍网| 任你躁在线精品免费| 久青草国产97香蕉在线视频| 国产女主播喷水视频在线观看| 国产成人午夜精品5599| 亚洲va久久久噜噜噜久久狠狠| 99riav视频在线观看| 91精品国产综合久久精品| 国产jk精品白丝av在线观看| 亚洲视频福利| 亚洲尤物视频网| 一区二区高清不卡| 色网综合在线观看| 特级特黄刘亦菲aaa级| 久久高清精品| 国产精品久久久久久久一区探花| 无码国产伦一区二区三区视频| 亚洲欧美偷拍三级| 亚洲这里只有精品| 日韩久久电影| 国产成人精品a视频一区www| 天天综合在线视频| 午夜欧美视频在线观看| 在线中文字日产幕| 国产一区二区三区四区老人| 91欧美精品午夜性色福利在线| 自拍视频在线| 欧美日韩一区二区三区高清| 国产美女免费网站| 视频一区二区三区入口| 欧美一二三四五区| 在线天堂新版最新版在线8| 亚洲国产成人精品电影| 国产精品变态另类虐交| 国产成人综合在线播放| 欧美黄色免费网址| 一区二区三区欧洲区| 欧美激情综合亚洲一二区| www.日韩高清| 亚洲第一福利视频在线| 成熟妇人a片免费看网站| 亚洲成人原创| 久久精品二区| 91欧美精品| 日韩在线视频一区| 97人人爽人人爽人人爽| 亚洲欧洲中文日韩久久av乱码| 熟妇女人妻丰满少妇中文字幕| 午夜精品剧场| 国产乱码精品一区二区三区中文 | 国产欧美在线看| 黄网站免费在线观看| 宅男噜噜噜66一区二区66| a级片在线观看免费| 成人网在线免费视频| 少妇高潮喷水在线观看| 精品在线91| 国产精品亚洲欧美导航| 日本动漫理论片在线观看网站| 亚洲电影在线看| 无码免费一区二区三区| 国产精品美女久久福利网站| 色偷偷中文字幕| 99亚洲精品| 亚洲不卡中文字幕| 福利一区二区免费视频| 欧美日本中文字幕| 亚洲av成人无码久久精品老人 | 水蜜桃久久夜色精品一区| 91免费版网站在线观看| 中文字幕在线免费观看视频| 中文字幕精品在线| 性色av蜜臀av| 91久久人澡人人添人人爽欧美| 欧美精品久久久久久久久46p| 成人精品一区二区三区四区 | 亚洲精品一区二区三区婷婷月| 国产美女www| 一区二区三区在线观看网站| 野外性满足hd| 国产乱人伦精品一区二区在线观看| 福利视频一二区| 成人久久综合| 国产日韩精品久久| 日日夜夜天天综合| 欧美激情精品久久久久久| 日本不卡免费播放| 日韩视频123| 日韩一区二区三区观看| 91精品久久香蕉国产线看观看| 污的网站在线观看| 日韩精品黄色网| 国产精品一级视频| 五月天网站亚洲| 激情无码人妻又粗又大| 成人小视频免费观看| 波多结衣在线观看| 黄色综合网站| 9999在线观看| 婷婷精品在线观看| 97视频热人人精品| 国产成人午夜性a一级毛片| 午夜精品99久久免费| 黄色网址免费在线观看| 亚洲视频在线视频| 天堂网在线观看视频| 欧美一区国产二区| 伊人久久国产精品| 色综合久久久久综合| 69精品久久久| 亚洲精品福利视频网站| 美国黄色特级片| 久久久久久一级片| 日本xxxx裸体xxxx| 成人动漫中文字幕| 久久发布国产伦子伦精品| 蜜臀a∨国产成人精品| 国产成人精品视频ⅴa片软件竹菊| 国产综合亚洲精品一区二| 中文字幕色一区二区| 国产成人黄色| 欧美激情第六页| 美女主播精品视频一二三四| 成人动漫视频在线观看免费| 99热这里有精品| 国产视频福利一区| 日本成人一区二区| 国产成人综合亚洲| 新片速递亚洲合集欧美合集| 欧美最顶级的aⅴ艳星| 草草在线观看| 91精品国产91久久久久久久久| sm性调教片在线观看| 久久久久久成人| 福利小视频在线| 国模精品视频一区二区| 丁香花在线电影| 性欧美办公室18xxxxhd| av日韩中文| 欧美在线视频播放| 婷婷综合六月| 国产精品小说在线| 91成人短视频在线观看| 91精品综合视频| 成人国产精品一区二区网站| 成人国产亚洲精品a区天堂华泰| 天天综合在线观看| 成人免费xxxxx在线观看| 综合久久av| 99中文视频在线| 精品视频高潮| 精品视频免费观看| 国产亚洲精品美女久久久久久久久久| 青青草原成人| 97精品中文字幕| 国产91视频一区| 在线日韩中文| 久久精品视频91| 久久国产人妖系列| 两性午夜免费视频| 不卡一区二区中文字幕| 国产人妻一区二区| 国产精品久久三| 欧美毛片在线观看| 欧美特黄级在线| 伊人久久国产精品| 欧美大肚乱孕交hd孕妇| 色播色播色播色播色播在线| 曰本色欧美视频在线| 超碰免费公开在线| 97视频在线观看免费| 99欧美精品| 91嫩草免费看| 中文字幕中文字幕精品| 国产a级片免费看| 亚洲精品美女91| 天堂网在线免费观看| 成人av综合一区| 免费黄色在线网址| 亚洲激情一二三区| 波多野结衣视频观看| 精品国产一区二区三区麻豆免费观看完整版 | 亚洲欧美一级二级三级| 男女猛烈激情xx00免费视频| 日本美女一区二区三区| 黑人无套内谢中国美女| 久久久久久久久久看片| 青青草原在线免费观看| 欧美视频专区一二在线观看| 国产色视频在线| 亚洲美女av网站| 青青青国内视频在线观看软件| 国产精品电影在线观看| 91麻豆精品激情在线观看最新 | 一级毛片视频在线| 韩国视频理论视频久久| 亚洲18在线| 欧美一区二区三区在线播放| 狠狠爱综合网| 手机av在线免费| 国产日韩欧美a| 日韩精品一区二区三| 7777精品伊人久久久大香线蕉经典版下载| 天天摸天天碰天天爽天天弄| 久久精品国产欧美激情| 伊人久久精品一区二区三区| 7777精品伊久久久大香线蕉语言| 成人区精品一区二区婷婷| 欧美成人三级在线视频| 国产麻豆视频一区| 亚洲a∨无码无在线观看| 日韩欧美国产高清91| 欧美一级在线免费观看| 欧美巨大黑人极品精男| 欧美a视频在线| 特级西西444www大精品视频| 久久精品二区三区| 亚洲制服丝袜在线播放| 亚洲一区二区av电影| 精品人妻一区二区三区换脸明星| 日韩中文字幕在线精品| 日韩一级二级| 日产精品高清视频免费| 久久综合九色综合欧美狠狠| 国产中文字幕一区二区| 亚洲va在线va天堂| 肥臀熟女一区二区三区| 久久99久国产精品黄毛片入口| 免费精品一区二区三区在线观看| 国产成人精品免费看在线播放 | 美女网站视频在线观看| 一区2区3区在线看| www五月婷婷| 欧美精品videossex性护士| 视频亚洲一区二区| 小泽玛利亚av在线| 国产ts人妖一区二区| 岛国毛片在线观看| 日韩视频国产视频| 99热99re6国产在线播放| 国产精品加勒比| 一本色道精品久久一区二区三区| 特级西西人体4444xxxx| 黄色精品一区二区| 欧美在线观看在线观看| 国产精品1区2区在线观看| 精品视频免费| 欧美美女性视频| 亚洲激情在线激情| 欧美自拍第一页| 日韩av毛片网| 日韩欧美视频专区| 亚洲精品乱码久久久久久动漫| 亚洲最大成人综合| 凸凹人妻人人澡人人添| 欧亚精品中文字幕| 日韩av在线中文字幕| 精品亚洲视频在线| 亚洲综合区在线| 日韩二区三区| 国产欧美精品在线| 欧美日韩免费观看一区=区三区| 亚洲欧美日韩色| 日本高清视频一区二区| 黄网站app在线观看| 国产精品一区二区三区免费观看| 亚洲免费影视| 亚洲熟女毛茸茸| 亚洲第一黄色网| 深夜视频一区二区| 日韩一级片一区二区| 99国产麻豆精品| 在线观看中文字幕码| 欧美精品福利在线| 国产毛片一区二区三区| 特黄特黄一级片| 欧美日韩中文字幕在线| 黄色一级大片在线免费看产| 久久综合九色欧美狠狠| 国产真实精品久久二三区| 国产精品久久久免费视频| 中文字幕欧美日韩| 99久久婷婷国产综合精品青牛牛|