精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

一本一道久久a久久精品综合蜜臀| 99精品久久免费看蜜臀剧情介绍| 久久中文字幕一区| 91亚洲一线产区二线产区| 国产精品电影| 国产精品久久久久久久久久免费看| 成人激情av在线| 色网站在线播放| 久久裸体网站| 日韩电影网在线| 国产免费中文字幕| 中文字幕 在线观看| 中文字幕一区二区三| 久久精品国产99精品国产亚洲性色| 伊人色综合久久久| 99成人在线| 欧美成人在线网站| 欧美熟妇一区二区| 国产三级精品三级在线观看国产| 欧美日韩久久一区二区| 国产 福利 在线| jizz性欧美| 国产精品天美传媒沈樵| 久久久水蜜桃| 天堂成人在线视频| 国产精品一级二级三级| 国产精品日韩一区| 一区二区三区在线观看av| 国产一在线精品一区在线观看| 亚洲人成绝费网站色www| 中国极品少妇xxxx| 日韩08精品| 欧美另类变人与禽xxxxx| 97在线免费公开视频| 成人爽a毛片免费啪啪动漫| 亚洲欧洲综合另类| 色涩成人影视在线播放| 免费在线视频一级不卡| 91在线观看视频| 国产一区视频观看| 人妻视频一区二区三区| 国产精品一二三四区| 91免费综合在线| 中文字幕在线播放日韩| 热久久国产精品| 国产精品欧美风情| 欧美成人一区二区三区四区| 香蕉成人久久| 日本久久久久久久久久久| 日本一区二区免费在线观看| 亚洲美女色禁图| 91国产在线精品| 天堂网一区二区三区| aa亚洲婷婷| 欧美伊久线香蕉线新在线| 日本在线观看中文字幕| 一本一本久久| 91超碰caoporn97人人| 4438国产精品一区二区| 久久天堂成人| 国产精品自产拍高潮在线观看| 少妇无套内谢久久久久| 男女男精品视频网| 国产在线精品播放| av天堂一区二区三区| 国产凹凸在线观看一区二区| 国产久一道中文一区| 熟妇人妻av无码一区二区三区| 不卡视频一二三四| 久久综合给合久久狠狠色| 免费在线黄色影片| 欧美国产日本视频| 性做爰过程免费播放| caoporn免费在线视频| 亚洲精品免费在线播放| 霍思燕三级露全乳照| 亚洲精品mv| 欧美主播一区二区三区美女| 国产欧美精品一二三| 97视频一区| 日韩精品视频观看| 国产精品麻豆一区| 欧美在线影院| 国产91精品久久久久| 中文字幕 亚洲视频| 国产精品538一区二区在线| 国产女人水真多18毛片18精品| 国产在线观看网站| 伊人色综合久久天天| 青青视频在线播放| 四虎精品在线观看| 日韩毛片在线看| 性生交大片免费全黄| 亚洲激情婷婷| 国产精品中文字幕在线| 日本黄色不卡视频| 国产精品福利影院| 高清无码一区二区在线观看吞精| 美脚恋feet久草欧美| 宅男在线国产精品| 国产一二三四五区| 欧美日韩国产免费观看| 国产经典一区二区| 免费看黄色一级视频| 中文一区二区在线观看| 日韩a∨精品日韩在线观看| 日韩城人网站| 亚洲情综合五月天| 国产一级做a爰片在线看免费| 人人精品人人爱| 九九九九精品| 伊人影院在线视频| 欧美欧美欧美欧美| wwwwww日本| 欧美成人日本| 91九色国产在线| www.av在线播放| 色网站国产精品| 影音先锋人妻啪啪av资源网站| 亚洲国产一区二区三区在线播放 | 变态另类丨国产精品| 亚洲一区色图| 国产日本欧美在线观看| 成年在线电影| 一本高清dvd不卡在线观看| 国产女主播在线播放| 91精品国产视频| 国产女人18毛片水18精品| 国产专区在线播放| 丰满岳妇乱一区二区三区| 亚洲色偷偷色噜噜狠狠99网| 欧美在线三级| 99www免费人成精品| 国产在线激情视频| 欧美军同video69gay| 欧美丰满美乳xxⅹ高潮www| 国产午夜久久| 欧美福利精品| 成人爽a毛片免费啪啪| 亚洲国产精品一区二区三区| 欧美成人三级视频| 国产精品99久久久久久宅男| 免费观看中文字幕| 九九99久久精品在免费线bt| 久久久精品久久| 国产日韩欧美中文字幕| 亚洲欧美日韩国产成人精品影院 | 久久久精品网站| 国产精品欧美亚洲| 亚洲嫩草精品久久| 国产精品熟女一区二区不卡| 欧美日韩国产欧| 国产欧美日韩视频一区二区三区| 成人在线高清免费| 国产视频精品免费播放| 特级西西444www大胆免费看| 国产精品毛片久久久久久| 中文字幕永久有效| 欧美精品麻豆| 久久riav二区三区| 国产 日韩 欧美一区| 日韩在线小视频| 精品国产av 无码一区二区三区| 亚洲精品国产高清久久伦理二区| gogo亚洲国模私拍人体| 亚洲激情欧美| 四虎永久国产精品| 日本超碰一区二区| 91高清视频免费| av中文天堂在线| 9191国产精品| 日韩欧美三级视频| 日本一区二区不卡视频| 国产精品久久久久野外| 一本色道久久综合亚洲精品不| 日韩一区免费观看| 欧美久久一区二区三区| 97视频在线观看播放| 在线免费观看黄色av| 欧美xxxx在线观看| 人人妻人人爽人人澡人人精品| 中文字幕一区二区三区视频| 久久久久久久久久久影视| 国产视频亚洲| 一区二区三区四区| 女人抽搐喷水高潮国产精品| 国产精品久久久久久久美男| 国产盗摄精品一区二区酒店| 在线日韩第一页| 亚洲黄色精品视频| 在线亚洲+欧美+日本专区| 成人免费视频网站入口::| 91啦中文在线观看| 手机在线视频一区| 久久久久久婷| 男人添女荫道口喷水视频| 女人av一区| 成人av资源网| 视频欧美精品| 日本精品免费一区二区三区| 污污的网站在线看| 夜夜嗨av色综合久久久综合网| 成人福利小视频| 欧美三级一区二区| 国产无遮挡裸体免费视频| 国产精品国产馆在线真实露脸 | 欧美第一精品| 欧美日韩一区综合| 国产精品高潮呻吟久久久久| 国产在线98福利播放视频| 网友自拍亚洲| 91国产精品91| 国产91足控脚交在线观看| 久久精品国产一区二区电影| 黄色视屏网站在线免费观看| 欧美精品一区二| 国产熟女一区二区三区五月婷| 欧美午夜免费电影| www欧美在线| 精品福利视频导航| 久久久久久天堂| 亚洲视频免费看| jizzjizz日本少妇| 久久精品人人做人人综合 | 亚洲第九十九页| 制服丝袜在线91| 中文人妻熟女乱又乱精品| 色素色在线综合| 五月婷婷色丁香| 午夜天堂影视香蕉久久| 精品肉丝脚一区二区三区| 亚洲三级理论片| 日韩国产第一页| 国产精品成人免费| 日本欧美一区二区三区不卡视频| 国产日产精品一区| 乐播av一区二区三区| 久久精品夜色噜噜亚洲a∨| 玖玖爱在线观看| 91视频在线看| 欧美狂猛xxxxx乱大交3| 2020日本不卡一区二区视频| 亚洲精品成人无码熟妇在线| 久久综合九色综合97婷婷女人| 久久精品综合视频| 91视频观看免费| 女~淫辱の触手3d动漫| 久久久久久久综合狠狠综合| 亚洲熟妇无码av| 久久精品欧美日韩精品 | 亚洲午夜免费视频| 国产精品日日夜夜| 欧美性xxxx18| 亚洲 欧美 日韩 在线| 欧美亚洲一区三区| 91九色蝌蚪91por成人| 欧美狂野另类xxxxoooo| 精品人妻伦一二三区久久| 欧美刺激脚交jootjob| 日韩一区二区三区在线观看视频| 日韩精品视频在线观看免费| 黄色片在线免费看| 最近日韩中文字幕中文| 在线观看h网| 992tv成人免费视频| 日本欧美一区| 亚洲一区久久久| 卡通动漫国产精品| 日韩福利在线| 综合五月婷婷| 97国产精东麻豆人妻电影| 日韩精品久久理论片| www.久久久久久久久久久| 国产精品99久久久久久久女警 | 外国精品视频在线观看 | 97中文字幕在线| 国产欧美在线| 17c国产在线| 99久久精品免费观看| 成人黄色a级片| 亚洲黄色性网站| 久久青青草原亚洲av无码麻豆| 欧美日韩美少妇| 欧美一区二区三区激情| 永久免费精品影视网站| 欧美aaaaaaa| 国产精品电影久久久久电影网| 国产一区二区三区亚洲综合| 国产亚洲情侣一区二区无| 色135综合网| 国产在线播放观看| 看片网站欧美日韩| 国产精品第七页| 亚洲乱码国产乱码精品精的特点| 毛片在线免费视频| 91精品中文字幕一区二区三区 | 久久精品99久久香蕉国产色戒| 97超碰在线免费| 国产在线视频91| 亚洲免费专区| 大胆欧美熟妇xx| 精品一区二区三区日韩| 中文字幕网站在线观看| 亚洲一区二区影院| 一本色道久久综合熟妇| 亚洲欧美激情视频| 大桥未久在线播放| 96pao国产成视频永久免费| 国产在视频线精品视频www666| 欧美亚洲黄色片| 国产在线视频一区二区| 91精彩刺激对白露脸偷拍| 午夜欧美2019年伦理| 97人人爽人人爽人人爽| 国产一区二区三区日韩欧美| 欧美sm一区| 国产成人成网站在线播放青青| 色综合天天综合网中文字幕| 日韩 欧美 高清| av不卡在线观看| 精国产品一区二区三区a片| 欧美高清一级片在线| 国产小视频在线播放| 69av在线播放| 欧美日韩一区二区三区在线电影| 国产精品视频一二三四区| 国内精品第一页| 国产黄色小视频网站| 欧美日韩高清影院| 91精品国产91久久久久游泳池 | 国产精品久久午夜| 无码人妻丰满熟妇精品区| 亚洲免费av网址| jizz内谢中国亚洲jizz| 蜜桃视频在线观看成人| 99综合在线| 日本高清www| 一本久久精品一区二区| 国产在线观看高清视频| 日韩女优人人人人射在线视频| 台湾亚洲精品一区二区tv| 国产精品国产亚洲精品看不卡| 成人深夜福利app| 日操夜操天天操| 国产丝袜一区二区三区免费视频| 蜜桃在线视频| 欧美日韩中文国产一区发布| 久久亚洲一区| 国产探花在线视频| 91精品国产欧美日韩| 激情影院在线| 韩国成人一区| 美女久久一区| 国产精品视频在| 这里是久久伊人| 青春草在线免费视频| 国产一区精品在线| 久久激情一区| 久草手机视频在线观看| 91精品国产免费| 国产伦理精品| 手机成人在线| 国产精品1024| 青青草av在线播放| 亚洲欧美日韩国产中文专区| 成人在线爆射| 警花观音坐莲激情销魂小说| 国产不卡在线视频| 精品免费囯产一区二区三区| 伊人伊成久久人综合网小说| 国产精品一区二区三区四区在线观看 | 91亚洲自偷观看高清| 亚洲综合中文网| 欧美日韩国产一区二区三区| 成人福利在线| 国产精品99久久久久久久| 老司机午夜免费精品视频 | 精品国产精品三级精品av网址| 国产精品免费播放| 亚洲一区二区中文| 亚洲一区二区网站| 男女全黄做爰文章| 精品国产一二三区| 另类中文字幕国产精品| 蜜臀av性久久久久蜜臀av| 91美女片黄在线观看| 在线观看国产黄| 91国语精品自产拍在线观看性色| 精品黄色一级片| 制服丝袜第一页在线观看| 欧美日韩一区二区三区免费看| av在线小说| 在线视频亚洲自拍| 91一区二区三区在线观看| 国产女人18毛片18精品| 青青草原成人在线视频| 一精品久久久| 色欲AV无码精品一区二区久久| 欧美xxxxx牲另类人与| 婷婷久久综合九色综合99蜜桃|