欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

MySQL GROUP_CONCAT詳解:語法、避坑與性能優(yōu)化

MySQL GROUP_CONCAT詳解:語法、避坑與性能優(yōu)化 做MySQL開發(fā)和運(yùn)維的同學(xué)應(yīng)該都有過這種經(jīng)歷一張訂單表配一張訂單商品明細(xì)表業(yè)務(wù)上要展示“訂單下所有商品的編號”如果不用函數(shù)只能在應(yīng)用層寫循環(huán)嵌套查詢或者在DAO層一次性查出所有明細(xì)再分組拼接。我第一次遇到這種需求時寫了一大段Java代碼循環(huán)里還做了排序去重又慢又難看。后來看到研發(fā)同事的SQL里冒出個GROUP_CONCAT()一行函數(shù)直接解決當(dāng)時就覺得這函數(shù)是真的香。這篇內(nèi)容想把GROUP_CONCAT()的語法細(xì)節(jié)、實(shí)戰(zhàn)用法和容易踩的坑一次說清楚適合寫SQL的研發(fā)、做報表的數(shù)據(jù)分析師以及天天跟MySQL打交道的運(yùn)維同學(xué)哪怕你只是面試前突擊MySQL也能從里面撈到不少干貨。1. 項目概述與函數(shù)定位1.1 GROUP_CONCAT到底解決什么問題GROUP_CONCAT()是MySQL里一個標(biāo)量聚合函數(shù)作用就是把同一個分組里的多行數(shù)據(jù)按照你指定的順序和分隔符拼成一個字符串返回。本質(zhì)上它做的就是“行轉(zhuǎn)列”中的一類場景多行轉(zhuǎn)一列。與之對比的普通聚合函數(shù) COUNT、SUM、AVG結(jié)果都是數(shù)值GROUP_CONCAT的結(jié)果是文本所以它在聚合后還能保留原始數(shù)據(jù)的“存在感”。舉個例子有一張學(xué)生選課表SELECT student_name, GROUP_CONCAT(course_name) FROM student_course GROUP BY student_name;這是最典型的用法把同一個學(xué)生的所有課程名拼在一行里。你沒用它之前可能先把所有記錄查出來丟給應(yīng)用層自己維護(hù)學(xué)生ID和課程列表的Map循環(huán)拼接用了它之后數(shù)據(jù)庫一次掃描、一次分組加拼接SQL寫完即是結(jié)果配合報表導(dǎo)出非常順手。GROUP_CONCAT解決的另一個核心需求是“冗余展示”。比如一個部門對應(yīng)多個員工一個分類對應(yīng)多篇文章業(yè)務(wù)詳情頁需要顯示一批關(guān)聯(lián)記錄的ID或名稱與其多查一次并額外維護(hù)緩存不如在SQL里直接拼接好。這也是許多日報、周報里經(jīng)??吹剿碛暗脑?。實(shí)際工作中我見過不少開發(fā)同學(xué)對聚合函數(shù)的理解停留在SUM、COUNT上碰到“把多個值合并成一個字段”的需求時第一反應(yīng)是在Java或PHP里拼接。不是說應(yīng)用層拼接不行而是當(dāng)數(shù)據(jù)量上來以后一次查詢出一條主記錄、再循環(huán)查明細(xì)會產(chǎn)生 N1 查詢問題接口響應(yīng)時間直線上升。GROUP_CONCAT讓數(shù)據(jù)庫在分組階段就把數(shù)據(jù)壓平減少了一次往返尤其在報表查詢這種“一次性拿全量”的場景里優(yōu)勢很明顯。1.2 函數(shù)語法與基本參數(shù)拆解直接看官方語法GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]] [SEPARATOR str_val])這個語法看著唬人拆開其實(shí)就四個部分DISTINCT可選對拼接前的值去重。注意它去重的粒度是整個表達(dá)式不是只針對第一個列。表達(dá)式可以是一個字段也可以是字符串拼出來的列比如CONCAT(module, -, action)多個表達(dá)式之間用逗號分隔。ORDER BY可選控制拼接順序。注意這里只能在內(nèi)部排序不能像平時一樣寫ORDER BY 別名寫字段名或數(shù)字位置都可以。SEPARATOR可選分隔符默認(rèn)是英文逗號。我見過有人以為默認(rèn)是空格結(jié)果字符串糊成一團(tuán)其實(shí)默認(rèn)就是,。一個最基礎(chǔ)的實(shí)戰(zhàn)例子SELECT class_id, GROUP_CONCAT(DISTINCT student_name ORDER BY student_id DESC SEPARATOR 、) AS students FROM class_student WHERE class_id 1001 GROUP BY class_id;這個語句干了三件事同一個班級的學(xué)生去重、按學(xué)號倒序排列、用中文頓號拼接。別小看這些細(xì)節(jié)很多線上數(shù)據(jù)的展示效果差異都來自這里。提示GROUP_CONCAT必須配合GROUP BY使用才有“分組聚合”的意義。如果 SQL 里沒有GROUP BYMySQL 會把整張表當(dāng)成一個組處理有時候這不是你想要的結(jié)果。關(guān)于多個表達(dá)式有一個容易忽略的點(diǎn)GROUP_CONCAT(a, b)其實(shí)等價于GROUP_CONCAT(CONCAT(a, b))但兩者在語義上有一點(diǎn)點(diǎn)區(qū)別。直接寫多個表達(dá)式時MySQL 會先按逗號拼出一個完整字符串再用SEPARATOR連接各行的結(jié)果。如果你本身的值里就帶逗號建議用CONCAT顯式組裝避免歧義。2. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)2.1 分隔符、排序與去重三個最常用參數(shù)的坑分隔符不是隨便選的。默認(rèn)逗號有很多場景會出問題比如拼接的字段本身包含逗號像地址、標(biāo)簽、帶逗號的備注結(jié)果洗數(shù)據(jù)時就尷尬了。所以我通常直接用豎線|或者中文頓號、。在報表導(dǎo)出時如果你后續(xù)要把拼接結(jié)果復(fù)制到 Excel 分列豎線比逗號更不容易撞車。還有一個隱藏知識點(diǎn)SEPARATOR后面可以跟空字符串比如SEPARATOR 常用于拼固定格式比如SELECT GROUP_CONCAT(id SEPARATOR )把編號連成一串純數(shù)字。ORDER BY 排序的坑也值得單獨(dú)說。GROUP_CONCAT內(nèi)部的 ORDER BY 只能對參與聚合的列排序如果你想先按課程結(jié)果集已有的排序方式再把數(shù)據(jù)拼出來很可能會發(fā)現(xiàn)順序是亂的。原因是 MySQL 在聚合階段做排序跟外層的 ORDER BY 執(zhí)行時機(jī)不同。最穩(wěn)妥的寫法是把排序邏輯寫在GROUP_CONCAT內(nèi)部明確告訴數(shù)據(jù)庫“拼接時按這個順序”。其次ORDER BY 后面是可以寫多個字段的比如ORDER BY subject ASC, score DESC這在拼接成績單時很有用。我之前在做一個商品標(biāo)簽導(dǎo)出功能時業(yè)務(wù)要求標(biāo)簽按“重要程度 創(chuàng)建時間”排序。直接在GROUP_CONCAT里寫成GROUP_CONCAT(tag_name ORDER BY is_important DESC, created_at ASC SEPARATOR ,)這個寫法非常直觀而且不需要在外層排序后做二次處理。你如果只寫一個ORDER BY created_at再指望外層ORDER BY影響拼接順序基本是白費(fèi)功夫因為聚合結(jié)果集和外層結(jié)果集是兩回事。DISTINCT 去重的粒度問題。很多人以為GROUP_CONCAT(DISTINCT name, score)是按 name 去重實(shí)際上是按(name, score)整個組合去重name 相同但 score 不同會保留兩條。如果你只想去掉重復(fù)的 name就得只寫GROUP_CONCAT(DISTINCT name)。這在統(tǒng)計用戶角色、標(biāo)簽聚合時特別容易出錯我見過小伙伴查了兩個小時才找到原因是多寫了一個字段。2.2 長度限制問題默認(rèn)1024字符帶來的坑GROUP_CONCAT最大的隱藏殺手是長度限制。MySQL 默認(rèn)的group_concat_max_len是 1024 字節(jié)也就是說聚合出來的字符串超過 1024 字節(jié)后面的內(nèi)容會被悄悄截斷而且不報錯。它不像語法錯誤那樣立刻暴露只會導(dǎo)致你看到數(shù)據(jù)不完整但是 SQL 還是顯示執(zhí)行成功這類 bug 在生產(chǎn)上排查起來很折磨人。查看當(dāng)前設(shè)置SHOW VARIABLES LIKE group_concat_max_len;修改方式有三種在會話級別臨時調(diào)大適合單次統(tǒng)計任務(wù)斷開連接即失效SET SESSION group_concat_max_len 102400;在全局配置里改影響新連接的會話SET GLOBAL group_concat_max_len 102400;寫在配置文件 my.cnf 里一勞永逸group_concat_max_len 102400這里有個計算細(xì)節(jié)1024 的單位是字節(jié)不是字符數(shù)。如果你的字段是 utf8mb4 編碼一個中文字符最多占 3~4 字節(jié)所以 1024 字節(jié)大約只能拼 300 多個中文標(biāo)簽。算容量時別只看字符個數(shù)。生產(chǎn)環(huán)境如果業(yè)務(wù)上明確要拼接大量明細(xì)直接把值調(diào)到 2048000 的也不少見代價是內(nèi)存和網(wǎng)絡(luò)傳輸增加因為拼接結(jié)果是在內(nèi)存里完成的返回給客戶端同樣要走網(wǎng)絡(luò)。我自己的經(jīng)驗是先評估業(yè)務(wù)上最大可能的記錄數(shù)和字段長度把group_concat_max_len設(shè)成兩倍冗余。千萬別默認(rèn)用一個 1024 的配置去拼接上千條業(yè)務(wù)數(shù)據(jù)等發(fā)現(xiàn)截斷了再上線回滾成本非常高。另外調(diào)大之后記得讓開發(fā)團(tuán)隊在同一個配置中心維護(hù)一份基線避免不同環(huán)境配置漂移。后面我會專門講一個我踩過的環(huán)境配置不一致的案例。2.3 與其他聚合函數(shù)、子查詢的配合GROUP_CONCAT不只是自己能拼還可以和表達(dá)式配合。常見的是在 ORDER BY 里使用另一個字段來控制順序在表達(dá)式中使用 CONCAT 組合多個字段SELECT user_id, GROUP_CONCAT( CONCAT(role_name, :, role_code) ORDER BY role_sort ASC SEPARATOR ; ) AS roles FROM user_role GROUP BY user_id;這一段在權(quán)限系統(tǒng)里非常實(shí)用直接把角色名稱和編碼拼成一個自解釋字符串供后端的角色標(biāo)記或者前端的工具提示使用。GROUP_CONCAT還可以放進(jìn)子查詢里比如從一張大表里取出每個用戶最新的幾條商品ID拼起來再和主表關(guān)聯(lián)。不過需要注意的是MySQL 8.0 之前派生表必須要有別名這在報錯里比較常見——Every derived table must have its own alias。我剛開始寫這類嵌套時經(jīng)常漏別名直到被報錯教做人。在 8.0 以后你還有更優(yōu)雅的替代方案比如JSON_ARRAYAGG()直接返回 JSON 數(shù)組以及配合窗口函數(shù)ROW_NUMBER()先取部分行再聚合。這些替代方案放到后面實(shí)戰(zhàn)部分細(xì)說。3. 實(shí)戰(zhàn)案例與核心實(shí)現(xiàn)3.1 經(jīng)典場景一對多拼接實(shí)戰(zhàn)先從最常用的一對多拼接開始。假設(shè)有三張表部門表dept、員工表employee、部門員工關(guān)系表dept_employee。你要生成一張報表每一行是一個部門員工姓名按入職時間排列逗號分隔SELECT d.dept_name, GROUP_CONCAT(e.emp_name ORDER BY e.hire_date ASC SEPARATOR ,) AS emp_names FROM dept d LEFT JOIN dept_employee de ON d.id de.dept_id LEFT JOIN employee e ON de.emp_id e.id GROUP BY d.id, d.dept_name;這里有幾個細(xì)節(jié)值得圈出來GROUP BY為什么要帶上d.dept_name因為在ONLY_FULL_GROUP_BY模式下select 列表中的非聚合列必須出現(xiàn)在 GROUP BY 里否則會報錯。MySQL 5.7 之后默認(rèn)開啟 ONLY_FULL_GROUP_BY很多老項目升級后遇到的報錯就是這里。如果不希望寫一串 GROUP BY另一種思路是把 dept_name 也改成聚合函數(shù)比如MAX(d.dept_name)但這會掩蓋數(shù)據(jù)的邏輯我一般不推薦。如果你擔(dān)心員工過多導(dǎo)致拼接超長可以先用GROUP_CONCAT內(nèi)層的表達(dá)式限制條數(shù)或者配合子查詢提前截斷。不過最直接的還是設(shè)置group_concat_max_len和業(yè)務(wù)對齊前面說過了。還有一種常見的變體只取每個部門入職最早的三個員工姓名。這時我會先開窗打行號WITH ranked AS ( SELECT d.dept_name, e.emp_name, ROW_NUMBER() OVER (PARTITION BY d.id ORDER BY e.hire_date ASC) AS rn FROM dept d LEFT JOIN dept_employee de ON d.id de.dept_id LEFT JOIN employee e ON de.emp_id e.id ) SELECT dept_name, GROUP_CONCAT(emp_name ORDER BY rn SEPARATOR ,) AS emp_names FROM ranked WHERE rn 3 GROUP BY dept_name, rn;這寫法把“取前N個”和“拼接”解耦邏輯更清晰執(zhí)行效率也比直接在大集合上做GROUP_CONCAT再截斷好一些。3.2 進(jìn)階場景多表關(guān)聯(lián)與組合聚合真實(shí)業(yè)務(wù)里經(jīng)常需要同時拼接多個維度比如一個商品要同時展示“所屬分類路徑”和“標(biāo)簽集合”。這時可以在同一個 SQL 里寫兩個GROUP_CONCAT一個用在分類表上一個用在標(biāo)簽表上。但如果兩個維度分別關(guān)聯(lián)同一張主表而且不是一對多關(guān)系很容易出現(xiàn)笛卡爾積導(dǎo)致重復(fù)數(shù)據(jù)。舉個例子一個商品goods同時關(guān)聯(lián)了goods_category一個商品屬于多個分類和goods_tag一個商品有多個標(biāo)簽直接兩個 LEFT JOIN 后再 GROUP_CONCAT結(jié)果會膨脹分類數(shù)量和標(biāo)簽數(shù)量相乘同一個分類出現(xiàn)多次同一個標(biāo)簽也出現(xiàn)多次看起來拼接結(jié)果里全是重復(fù)項。這種問題最穩(wěn)妥的辦法是先分別聚合再 JOIN 回主表SELECT g.id, gc.category_names, gt.tag_names FROM goods g LEFT JOIN ( SELECT goods_id, GROUP_CONCAT(category_name SEPARATOR /) AS category_names FROM goods_category GROUP BY goods_id ) gc ON gc.goods_id g.id LEFT JOIN ( SELECT goods_id, GROUP_CONCAT(tag_name SEPARATOR |) AS tag_names FROM goods_tag GROUP BY goods_id ) gt ON gt.goods_id g.id;這就是典型的“先聚合再關(guān)聯(lián)”思路也是我在項目里反復(fù)強(qiáng)調(diào)的一點(diǎn)多對多場景下盡量把聚合下沉到子查詢里避免多個一對多 JOIN 疊加后結(jié)果爆炸。這個坑在報表統(tǒng)計里最致命因為數(shù)據(jù)量一大直接翻幾倍甚至幾十倍。你可以在本地用兩個小表各 3 條明細(xì)做一次實(shí)驗兩個表 JOIN 后會有 9 行中間結(jié)果再去重拼接性能和準(zhǔn)確性都會受影響。3.3 性能調(diào)優(yōu)和替代方案GROUP_CONCAT是聚合操作它需要在分組內(nèi)進(jìn)行排序拼接如果數(shù)據(jù)量大內(nèi)存開銷和臨時表的使用都會上來。幾個調(diào)優(yōu)點(diǎn)在 GROUP BY 字段上建立索引減少分組時的臨時表開銷。控制輸出長度預(yù)防大字段導(dǎo)致的排序內(nèi)存暴漲。避免GROUP_CONCAT內(nèi) DISTINCT 和 ORDER BY 對多個大字段操作DISTINCT 需要在內(nèi)存/臨時表里做去重判斷字段寬、行數(shù)多時性能會明顯下降。能用數(shù)值型標(biāo)識就不拼長文本比如拼接ID而不是拼接名稱展示層再映射。從 MySQL 8.0 開始官方推薦用JSON_ARRAYAGG替代復(fù)雜場景下的GROUP_CONCAT它直接返回 JSON 數(shù)組沒有傳統(tǒng)意義上的長度限制還能保留結(jié)構(gòu)化信息比如SELECT class_id, JSON_ARRAYAGG(student_name) AS student_array FROM class_student GROUP BY class_id;JSON 數(shù)組后續(xù)在應(yīng)用層可以很方便地 parse不需要自己再 split 字符串。但注意JSON_ARRAYAGG的排序需要配合子查詢或窗口函數(shù)因為它本身不支持 ORDER BY。另外如果你的下游系統(tǒng)是 Kafka、Flink、ClickHouse 這些JSON 數(shù)組比逗號分隔更容易被解析這也是越來越多項目轉(zhuǎn)向 JSON 聚合函數(shù)的原因。不過字符串拼接仍然有它不可替代的場景比如日志里直接拼成一行、導(dǎo)出 CSV 時直接輸出文本列JSON 反而需要二次轉(zhuǎn)換。窗口函數(shù)也能實(shí)現(xiàn)類似的“行轉(zhuǎn)列壓縮”。如果你只需要每個分組的前 N 條拼接可以用 ROW_NUMBER 先打行號再在外層過濾最后 GROUP_CONCAT。這種寫法避免了一次性聚合全量數(shù)據(jù)在取“每個用戶最近三條操作記錄”這類需求里更可控。4. 常見問題與排查技巧實(shí)錄4.1 拼接結(jié)果缺失或為空NULL值的處理GROUP_CONCAT遇到 NULL 值時會直接跳過而不是拼成字符串 “NULL”。這一點(diǎn)很多從 Oracle 轉(zhuǎn)過來的同學(xué)會不習(xí)慣。比如你想把用戶的所有備注拼起來備注字段有 NULL你會得到一個干凈的列表。這通常是好事但也可能隱藏問題如果所有值都是 NULLGROUP_CONCAT返回 NULL而不是空字符串。做報表時這個小地方容易導(dǎo)致前端顯示 null 字樣。處理辦法很簡單用 IFNULL 或 COALESCE 包一層SELECT user_id, GROUP_CONCAT(IFNULL(remark, ) SEPARATOR ,) AS remarks FROM user_remark GROUP BY user_id;但注意別毫無取舍地全包 IFNULL否則空字符串也會被拼進(jìn)去連續(xù)逗號會讓結(jié)果很難看。我一般視業(yè)務(wù)決定要么過濾掉空字符串要么把所有 NULL 轉(zhuǎn)成統(tǒng)一占位符。比如你可以先過濾GROUP_CONCAT(IFNULL(NULLIF(remark, ), NULL) SEPARATOR ,)雖然看起來繁瑣但這樣空字符串和 NULL 都會被避掉結(jié)果里不會出現(xiàn)兩個連續(xù)分隔符。4.2 分組邏輯不對ONLY_FULL_GROUP_BY 帶來的報錯5.7 以后如果 SELECT 里有非聚合字段又沒出現(xiàn)在 GROUP BY 里會直接報錯Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ...這時候如果你用的是GROUP_CONCAT聚合其他字段而 select 的非聚合字段忘記加進(jìn) GROUP BY就會觸發(fā)這個問題。建議改 SQL 時把非聚合字段全部寫進(jìn) GROUP BY。也可以用ANY_VALUE()包住想要保留但不想分組的字段比如ANY_VALUE(user_name)這在一些復(fù)雜業(yè)務(wù)里可以簡化分組條件。不過要注意ANY_VALUE取到的是任意一行如果你不能接受不確定性就不要這么做。我在實(shí)際操作中更推薦把所有非聚合列都寫進(jìn) GROUP BY原因有兩個一是語義清晰日后維護(hù)的人能一眼看懂分組粒度二是兼容性更好換到其他數(shù)據(jù)庫或者遷移到 TiDB、PostgreSQL 時寫法差異更小。ANY_VALUE是 MySQL 自己的妥協(xié)方案能用但別濫用。4.3 生產(chǎn)環(huán)境踩坑拼接超長、內(nèi)存不足和字符集問題我在生產(chǎn)環(huán)境遇到最折騰的一次是查詢報表時發(fā)現(xiàn)GROUP_CONCAT的結(jié)果在部分機(jī)器上短一截另一部分機(jī)器正常。排查到最后發(fā)現(xiàn)兩個環(huán)境group_concat_max_len配置不一致導(dǎo)致同一份 SQL 在不同環(huán)境表現(xiàn)不同。這是典型的“開發(fā)環(huán)境沒壓到長度閾值生產(chǎn)環(huán)境數(shù)據(jù)量大直接踩線”的案例。所以在代碼評審時只要看到GROUP_CONCAT我會順手問一句拼接上限評估過沒有配置調(diào)了沒有還有一個隱蔽問題是字符集。如果GROUP_CONCAT內(nèi)部拼接的字段來自不同的表而兩表的字符集或排序規(guī)則不一致可能報Illegal mix of collations錯誤。解決辦法是拼接前用 CONVERT 統(tǒng)一字符集比如CONVERT(col USING utf8mb4)。這類問題在從舊庫遷移、或者多庫 JOIN 時更容易出現(xiàn)。內(nèi)存方面超大的group_concat_max_len設(shè)置會讓每個涉及GROUP_CONCAT的查詢占用的內(nèi)存隨之上升。不是查詢里寫了GROUP_CONCAT就會立刻爆內(nèi)存但高并發(fā)場景下幾十個線程同時拼接大字符串?dāng)?shù)據(jù)庫內(nèi)存會明顯上漲。因此在調(diào)大配置時一定要考慮連接數(shù)和并發(fā)度別只盯著單一查詢。4.4 常見問題速查表現(xiàn)象可能原因解決辦法拼接結(jié)果被截斷group_concat_max_len 太小調(diào)大會話/全局/配置文件參數(shù)拼接后順序混亂外層 ORDER BY 與內(nèi)部排序沖突在 GROUP_CONCAT 內(nèi)部寫 ORDER BY結(jié)果里出現(xiàn)重復(fù)值未加 DISTINCT 或去重粒度錯明確 DISTINCT 的表達(dá)式范圍結(jié)果顯示 NULL所有參與拼接的值都是 NULLIFNULL/COALESCE 處理或過濾空值報錯 ONLY_FULL_GROUP_BYselect 非聚合列未出現(xiàn)在 GROUP BY補(bǔ)全 GROUP BY 或使用 ANY_VALUE報錯 Illegal mix of collations多表字段字符集/排序規(guī)則不一致用 CONVERT 統(tǒng)一字符集拼接結(jié)果超大響應(yīng)慢輸出字節(jié)大、內(nèi)存排序消耗高控制字段寬度、索引優(yōu)化、考慮 JSON_ARRAYAGG這張表是我自己排查問題時常用的框架每次遇到類似報錯先定位現(xiàn)象再套原因效率會高很多。5. 面試題視角與擴(kuò)展思考5.1 面試官問 GROUP_CONCAT 想考什么MySQL 面試題里GROUP_CONCAT屬于容易被輕視的知識點(diǎn)。面試官如果讓你寫“查出每個部門員工姓名拼接在一起”的 SQL表面上考的是語法實(shí)際想確認(rèn)你對聚合函數(shù)的邊界條件有沒有清醒認(rèn)識。我見過不少候選人能寫出基礎(chǔ) SQL但一問出下面這幾個問題就露餡拼接結(jié)果默認(rèn)最長多少截斷會不會報錯DISTINCT 去重的單位是什么內(nèi)部 ORDER BY 能寫成什么形式能不能嵌套子查詢多個一對多 JOIN 時拼接為什么會出現(xiàn)重復(fù)這些問題背后其實(shí)考察的是你踩過多少坑。我自己在面試時也喜歡用GROUP_CONCAT當(dāng)引子從基礎(chǔ)語法往深度場景帶判斷候選人數(shù)據(jù)庫動手能力到底到什么級別。很多候選人背了一堆高并發(fā)、索引優(yōu)化概念結(jié)果連“CLOB拼接限制”這種實(shí)戰(zhàn)問題都答不清說明平時寫SQL還是太依賴復(fù)制粘貼。5.2 替代方案的正確選型前文提到了JSON_ARRAYAGG和窗口函數(shù)這里集中對比一下方案輸出排序支持長度限制適合場景GROUP_CONCAT分隔符字符串支持內(nèi)部 ORDER BY受 group_concat_max_len 限制簡單展示、CSV/日志輸出JSON_ARRAYAGGJSON 數(shù)組需搭配窗口函數(shù)/子查詢無傳統(tǒng)長度限制前端直接解析、下游結(jié)構(gòu)化消費(fèi)子查詢 GROUP_CONCAT分隔符字符串分組內(nèi)先排序再聚合同上復(fù)雜條件限制后的拼接窗口函數(shù) 條件聚合多列/多行窗口內(nèi)排序無需要保留多列統(tǒng)計值時選型核心看數(shù)據(jù)消費(fèi)方。如果只是給人看的GROUP_CONCAT最直接如果給程序消費(fèi)JSON 更穩(wěn)如果數(shù)據(jù)量超大且要對拼接結(jié)果再做統(tǒng)計建議直接在聚合前用窗口函數(shù)把數(shù)據(jù)量壓下來不要把所有明細(xì)都拼出來再截斷。我在實(shí)際項目中還遇到過用GROUP_CONCAT給一批 ID 拼成一個字符串再配合FIND_IN_SET做條件判斷的寫法。這招在數(shù)據(jù)量不大時非常方便但數(shù)據(jù)量一大性能就很差因為它用不到索引。更推薦的做法是把字符串拆開 JOIN 回原表查詢或用臨時表。你要記住一條原則GROUP_CONCAT的目的是“展示”不是“作為查詢條件去關(guān)聯(lián)”一旦把它當(dāng)中間表用坑就來了。個人實(shí)際使用下來GROUP_CONCAT最舒服的場景是監(jiān)控告警、日報導(dǎo)出和目標(biāo)字段快速透視。我最后還會分享一個小技巧如果你需要把拼接后的結(jié)果再次拆分并按條件統(tǒng)計MySQL 8.0 可以用JSON_TABLE()配合拆分 JSON 數(shù)組但如果你用的是 5.7就老老實(shí)實(shí)把原始明細(xì)表梳理清楚盡量不要依賴字符串的二次切割。數(shù)據(jù)結(jié)構(gòu)的規(guī)范性永遠(yuǎn)比函數(shù)技巧更重要這一點(diǎn)在GROUP_CONCAT上體現(xiàn)得特別明顯。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
美女91一起草| 五月婷婷网五月在线| 五月婷亚洲精品AV天堂| 色五月婷婷少妇人妻| 强辱丰满人妻HD中文字幕| 欧美黑人巨大猛烈cuckold| 中国丰满熟女A片免费观| 五月天色婷婷伊人网| WWW,五月| 久月久在线视频| 热99在线精品| 深爱激情69热| 99色看这里只有精品| 99热国产在线| www.夜夜操.com| 天天 青草 丝袜制服 在线| 大香蕉视频婷婷| 激情四射网| 丁香五月天激情小说| 啪精品| 开心五月网| 三级大香蕉网| 热99热| 天天肏天天肏| 久久婷婷青青草| 99热碰碰| 97五月婷| 国产婷婷色综合AV蜜臀AV| 婷婷五月亚洲一本在线丁香| 婷婷五月丁香婷婷| 天天色天天色天天色天天色天天色天天色 | av操一操| 色九四色| 欧美日韩中文国产一区发布| 人人爱操| 五月丁香啪啪啪| 亚洲热热视频| 亚城区在线| 狠狠五月激情在线| 五月丁香综合激情在线观看| 91超级碰| 五月天婷婷色在线视频免费观看| 九九热99免费视频| 卡视频1区2区| 色伦专区97中文字幕| 久久综合五月天| 天天日夜夜夜操操操操| 天天婷婷操| 香蕉婷婷| 六月丁香婷婷色狠狠久久| 激情婷婷黄色五月| 亚洲视频另类| AⅤ网站在线看| 亚洲精品婷婷| 另类视频五月天| 六月丁香久久| 狠狠色丁香久久久婷| 色情久久久| 婷色天堂| 欧美久久久中文字幕| 色五月婷婷青娱乐| 欧美碰碰碰| 丁香婷婷啪啪| 亚洲视频在线观看| 国产AV一区二区三区日韩| 99操逼| 久久视频这里99| 小视频aaa久久久| 五月色婷| 婷婷另类开心| 五月丁香人人婷婷在线观看| 99r这里| 丁香五月天综合网| 六月 丁香 视频| 天天夜天天色天天| 五月激情综合网| 人妻久久久久久久久久久| 婷婷五月天熟妇| 久久婷婷成人视频| 色五月天激情| 色综合五月天| 日本三级中国三级99人妇网站| 婷婷五月丁香六月| 99热这里是精品| 国产毛片精品一区二区色欲黄A片| 五月丁香综合激情网| 九九综合久久| 亚洲成人在线在线| 另类视屏| 日韩狠狠色婷婷| 五月色欧美| 亚洲尤物在线| 91视频综合网| 青草视频在线观看视频| 人妻中文字幕网| 丁香五月瑟瑟| 97人人操| 五月天成人在线| 九九热只有精品| 久久精品这里只有精品免费首页| 好好干Av| 国产成人va在线| 久久开心五月婷婷| 激情五月婷婷网| 五月激情综合网| 婷婷激情四射| 琪琪色热色色| 色婷婷九月综合| 99re热免费观看视频精品| 丁香六月婷婷综合缴| 色~性~乱~伦~噜| 狠狠干狠狠色| 久久综合9| 热99精品视频五月| 激情综合六月| 婷婷中文字幕| 99热在线精品播放| 色婷婷亚洲五月天| 农村熟妇高潮精品A片| 99色在线观看视频者| 丁香五月天婷婷91| 九玖欧洲亚洲| 色五月 五月婷婷| 日本激情综合| 五月噜噜噜色综合| 原琪琪色影院| 91碰操| 这里只有精品视频222| 色99综合视频| 天天爽人人综合免费7799| 超91在线视频| 久久A区B区| 琪琪色五月天| 五月婷婷天堂| 免费看欧美成人A片无码| 日本天天操| 麻豆123区| 婷婷开心深爱五月天| 五月丁香六月停停| 六月激情婷婷综合| 色五月成人| 粉嫩av懂色av蜜臀av熟妇| 免费观看全黄做爰的视频| 99啪| 欧美日综合| 激情综合五月丁香六月婷婷| 色六月丁香婷婷狠狠干| www.色婷婷| 六月激情婷婷综合| 九九热在线观看视频| ..真实国产乱子伦对白在线_欧| 欧美色宗和激情| 九九热思思热| 91麻豆国产三级精品福利在线观看 | www.丁香五月| 1024你懂的欧美曰韩| 丁香色啪综合| 国产成人AV| 亚洲XX网| 丁香婷婷色九月| 91n网站cad入口在线观看| 天天日日人| 人人操人人干AV| 在线色婷婷| 人人舔人人色人人高潮| 婷婷综合激情| 久久婷婷丁香五月一二三| 色色色色色色色色五月先| 婷婷色情五月| 五月婷婷影| 99热8| 婷婷狠狠综合网入口| 激情五月婷婷欧美极品| 精品无码久久久久久久久 | 97色天堂| 亚洲天堂热| 色综合久久中文| 婷婷久久女人| 啪啪操超碰| 91婷婷伊人牛牛| 99热这里只有精品8| 伊人大蕉香| 婷婷99狠狠| 热久69| 狠狠干综合| 99人人操| 91久久婷婷| 亚色网站小视频| 日本欧美成人片AAAA| 五月婷六月综合在线观看| AV九九| 五月激情丁香六月狠狠干| 欧美日韩99| 日本狠狠爽| 天天干人人奸97| 五月六月激情| 99色在线观看| 99热最新国内| 欧洲综合视频| 五月婷久久在线| 成人丁香五月婷| 亚洲天堂爱爱| 亚洲婷婷六月天| 九九爱激情| 另类综合婷婷五月天欧美视频| 丁香五月婷婷久久久| 婷婷狠狠操| 手机在线日韩视频中文字幕| 国产精产国品一二三在观看| 精品久久久999| 亚洲国产精品五月天| 伊人激情AV一区二区三区| 6080av| 丁香六月色| 午夜天堂啪啪| 欧美激情-区二区三区| 六月丁香成人| 国产又爽又猛又粗的视频A片| 五月激情综合深爱| 婷婷五月激情网站| 日本三级毛片| 色99综合色88| 99色在线| 五月大香蕉| 伊人婷婷色激情丁香| 亚洲第一av| 丁香六月婷婷| 97碰碰在线看视频免费| 色婷婷色婷婷五月| 亚洲成人电影aaaa| 金桔一区二区ab地址| 黄色激情网站在线观看| 欧美色综合天天久久综合精品| 婷婷色五月色| 六月丁香婷婷色69| www.25五月婷婷| 91 原创 在线 九色| 98国产精品综合一区二区三区| 五月天综合在线观看视频| 亚洲五月天第一综合干| 美欧日韩国产成人在战| 39视频第二区| 九九艹女| AV中文网| 国产亚洲精品久久久久久郑州 | 婷婷五月电影| 久久婷婷六月综合综合| 久久婷婷五月天大香蕉| 亚洲成人在线播放| 丁香五月综合婷婷| 激情综合激情综合| 亚美欧色影院| 五月天天爽| 天天摸夜夜爽天天做| 综合色色婷婷| 99热精品在线| 亚洲小视频免费观看| 婷婷五月色图| 日韩操逼大片| 色婷| 丁香五月天堂| 亚洲区,视频区,视频区免费| 久草五月| 深爱五月月天| 亚洲人成网亚洲欧洲无码久久| 99人妻碰碰久久久禁片| 亚洲乱码日产精品BD| 九月丁香婷婷| 婷婷激情六月| 色五月激情五月| 色999五月色| 成人AV中文字幕| 激情综合网五月天| 婷婷激情性爱| 99爱在线视频| 婷婷99综合| 97精品人人A片免费看| 亚洲欧美婷婷五月色综合| 这里只有精品网| 亚洲VA在线| 色欲日日躁| 日本成人噜噜噜噜噜| 97丁香花五月天激情小说| 九九伊人网| 久久久思思热| 久噜久噜| 9l视频自拍9l视频自拍九色学生| 99激情网| 国产乱子轮XXX农村| 99热久久这里只有精品| 成人在线观看国产| 色播激情婷婷| 久久在这里99| 影音先锋激情网| 99在线视频精品| 色婷婷五月天综合网| 五月丁香婷爱在线| 99re免费精品视频| 青草视频在线观看视频| 久久婷婷综合拍| 超碰日日操| 亚洲综合视频天天精品| 亚洲五月情| 99热亚洲| 婷婷五月天激情四射| 99在线精品免费视频| 操日本99| 五月天婷婷免费| 99热啪啪| 五月婷婷啪啪啪啪| 五月婷六月| 少妇性BBB搡BBB爽爽爽电影| 欧美在线视频免费播放| 综合狠狠五月婷婷| 99热在线看片| 综合天堂AV久久久久久久| 亚洲视频另类| 91九色国产| 婷婷五月天激情综合| 深爱五月网| 九九亚洲综合| ..真实国产乱子伦毛片| 日韩 mm 不卡| 熟女五月天久久综合| 五月天精品视频| 啪啪99| 国产看真人毛片爱做A片| ady狠狠入| 依人大香蕉| 五月草影视| 色婷操逼| 99少妇精品| 成人婷婷桔色| 丁香婷婷五月色成人网站| 欧美色色色| 9热久久| 五五月丁香花激情综合网| 婷婷中文字暮| 精品一二三区久久AAA片| 国产亚洲精品AAAAAAA片| 超级碰碰碰91| 国产,欧美,日韩,性爱| 这里只有精品在线观看视频| 琪琪色热色色| 丁香五月综合AV在线| 婷婷五月天av| 大香蕉AV在线| 99热这里都是精品| 六月婷婷在线视频| 五月天大香蕉av| 色噜噜综合网| 婷婷久月| 97偷拍对白视频| 开心激情色婷婷五月天| 久99视频| AV伊人青草丁香六月| 一丁香五月天月AV| 丁香五月婷婷少妇| 激情五月深爱婷婷| 九九九激情网| 伊人深爱综合| 欧洲区自拍| 丁香六月婷婷综合网| 久久98| 日笨久久网| 99视频热| Www.se.久久| 色欲丁香久久| www.91五月| 欧洲精品欧洲情| 夜夜爱网站| 五月停亭六月,六月停亭的英语| 日日爽夜夜爽| 色综合色五月| 五月丁香六月| 激情久久五月网| 亚洲综合1024| 超碰av在线| 中文色婷婷| 欧美在线视频免费播放| 亚洲AV人人操| 无码九九| 七月丁香五月婷婷在线| 操你av| 久久九九激情五月天| 色综合久久伊伊婷婷五月| 亚洲最大视频| 中文不卡一二三区| 99精品久| 九九人人精品| 色性综合| 五月天丁香六月综合| 亚洲九九夜夜| 五月丁香WWW| 99精品偷自拍| 思思久久99| 五月丁香花激情综合网| 网站免费一站二站| xxx日本东京热| 七月丁香五月婷婷在线| 噜噜吧天天爱| 九九激情网| 日日夜夜干| 伊人国产婷婷五月天| 91综合视频丁香| 99热99色| 五月婷婷新网站| 丁香六月在线综合| 五月婷啪啪| 五月婷婷五月天| 亚洲无码www| 色综合久久中文| 久久九区| 深夜婷婷 丁香| 九九热视| 综合色天天| 91主播在线| 欧美3AaAa大片| 激情图片99| 啪啪啪大香蕉| 丁香五月婷婷综合网| 超级碰碰碰碰视频| 五月婷婷久草| 五月大香蕉| 我爱va亚洲va52| 久久精品99久久久久久久久| 欧美色色色| VA国产在线综合网站| 狠狠色综合无线观看| 91AV婷婷| 天天爽综合网| 五月婷高清视频| 激情综合色婷婷啪啪六月天| 大地9中文在线观看免费高清 | 中文字幕 中文字幕明步| 丁香婷婷啪啪啪| 日韩另类在线观看| 久热精彩视频98| a在线观看| 婷婷五月天激情视频| 玖玖午夜视频| 色爱爱综合网| 99久久国产宗和精品1上映| 播播网色播播| 婷婷五月天电影在线| 激情综合啪啪啪| 停停综合色色| 人妻在线观看视频| 久久99最新地址| 99热九九热| 婷婷婷婷婷开心无码播放| 久久黄色免费视频| se99高清无码| 9999久久久久| www.jiujiujiu| 久久曰9| 丁香五月AV| 激情四射网| 六月丁香婷婷综合在线| 777精品久无码人妻蜜桃| 色色综合网络| 六月丁香好婷婷| 这里只有精品99视频| 大香蕉久久草| 91九色在线视频| AⅤ在线播放网| 色哟呦av| 成人做爰黄A片免费看直播室男男 A片试看120分钟做受图片 | 丁香五月婷婷六月婷婷| 色啪影院| 激情久久肏屄视频| 五月丁香啪啪综合网| 午夜丁香 婷婷| 婷婷五月欧美AA片免费| 婷婷WWW久久| www99精品在线观看| 免费观看全黄做爰的视频| 丁香五月影院| 风流少妇A片一区二区蜜桃| 九九亚洲视频| 香蕉婷婷五月| 天天做天天爽| 秋霞A V毛片| 狠狠色噜噜狠狠| 天天插天天插| 99热亚洲精品| 99热这里只有精品8| 五月婷婷啪啪| 666555。COm毛片| 丁香五月天天久久综合小说| 好大好粗嗯啊-一级黄色大片免费观看-成人AV| 色综合女人99| 狠狠爱夜夜| 97干婷婷| 婷婷丁香视频在线观看免费| 激情五月网站| 99热无码首页| 五月综合丁香婷婷| 婷婷五月天成人网| 中文字幕中文有码在线| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 99热天堂| 五月婷色| 99久久九九| 亭亭玉月丁香| 久久九九99.www| 97热九九| 九九视频这里是精品五月| 色亚洲视频| 丁香五月中文字幕久色| 黄网在线免费观看| 精品成人在线| 色九月欧美| 婷婷六月丁香在线| 26uuu精品国产| 婷婷欧美综合| 婷婷中合| 超碰免费人妻| 综合五月激情网| 日本高清久| 99热丁香| 少妇激情五月婷婷| 丁香六月狠狠干| 天天爽夜夜操| 欧美精品A片一区在线观看| 色婷婷XXXXX| 天天夜天天色天天| 国产激情综合五月久久| 久久婷婷东京热大香樵| 色色婷婷五月| 五月花激情| 99色色网| 色综合视频| 久久五月丁香激情综合| 另类图片色五月| www.第四色99| 深爱丁香网| 色婷婷成人五月| 五月天综合在线| 噜噜五月天综合| 再次出发二| 狠狠干在线| 五月激情在线| 91久久综合亚洲鲁鲁五月天| 免费观看欧美成人AA片爱我多深 | 色导航色婷婷五月天在线观看| 97操碰| 97午夜一区二区| 人人干人人干骚美女| 丁香五月婷婷香| 五月色情| 九月丁香婷婷综合激情| 久久激情五月天| 天天爱天天天射AV| 婷婷五月免费观看| 亚洲激情另类| 婷婷的99视频网站| 超碰97干| 丁香五月婷婷亚洲另类| 激情九九这里只有精品| 777米奇影视第四色| 中文字幕永久免费| 91人人操人人爱| 五月天堂六月丁香亚州中文字幕久久 | 色婷婷A| 婷五月天| 日日日影院| 五月婷丁香| 色综合久久44| 婷婷永久在线| 日韩性视频| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 在线观看中文字幕| 国成人网| 狠狠操性爱av| 五月色亭丁香| 天天婷婷色六月| 色婷婷激情五月天丁香| 欧美日本一区二区三区| 狠狠爱深色婷婷综合| 日日干日日s| 激情五月综合| 婷婷五月天伊人网在线观看视频| 激情五月婷婷| 色五月婷婷天天操夜夜操| 婷婷成人基地| 99九九视屏| 深夜婷婷 丁香| 激情综合婷婷| 亚洲a片免费观看| 日本五月天一页| 99碰碰碰| 91久久精品无码一区二区三区| 91在线视频综合| 另类小说色婷婷| 超碰93在线观看| 99热在线精品播放| 九九这里只有精品在线视频| 五月天伊人| Va另类视频| 色色色com| 99久久久| 色狠狠色综合久久久绯色AⅤ影视| 五月婷婷和六月| 欧美色婷婷| 五月婷婷播| 婷婷丁香水多多视频| 另类A片| 在线视频你懂得| 五月丁香大香蕉| 五月色视频| 9色91视频| 秋霞三及片| 97久久五月丁香婷婷| 久久久18| 五月婷婷在线网站| 97色啪| 大香蕉久久久久| 五月综合视频在线| 日韩成人电泉AV| 一级二级色大片| 五月丁香婷婷啪啪| 1级欧美日韩| 天天综合久久| 亚洲一色色色色色色色色| 色综合77777| 天天天操天天天日| 99精品国产在热久久| 性按摩玩人妻HD中文字幕| 久久人妻久久| 天天日夜夜B久久| 五月天堂六月丁香亚州中文字幕久久 | 综合色色色| 99综合网| 激情婷| 91Chinese在线| 免费观看欧美成人AA片爱我多深 | 欧洲综合视频在线观看。欧洲,亚洲综合食品在线观看。 | 九久九精品| 黄色五月婷婷| 激情五月四色| 人人干天天舔| 色综合久久88| 色和综合网| 亚洲综合在线视频| 91精品久久久久、久五月天| 天天做天天干天天综合网| 色婷婷色九月| 久草五月丁香婷婷综合| 久9热| 久久综合影院| 深夜A片| 日日日日日| 五月色丁香| 丁香五月在线观看综合| 丁香五月婷婷深五月| 操人精品| 九97免费视频| AAA级久久久精品| AV性爱在线| 亚洲一区二区无码蜜乳av| 超碰在线看| 精品九九网| 久久se 综合网| 色色色色热| www,超碰| 另类激情首页| 五月婷婷综合久久| 蜜桃五月天| 欧美网站视频4399| 亚洲欧洲另类| www999日韩精品| 夜夜操天天爽| 五月婷婷九| 久久激情综合| 中美日韩成人在线| 五月丁香好婷婷A片网| 热久久婷婷| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 激情网 久久| 超碰在线免费9| 久久五月天婷婷| 五月伊人婷婷| 亚洲综合热| 色五月天本日| 噜噜五月天综合| 九九热这里只有精品在线观看| 五月婷婷香蕉| 蜜乳A√| 婷婷色九月| 激情AV在线| 情色婷婷五月天| 婷色五月天| 五月婷婷久久久| 超碰成人免费| www.99热最新视频8| 一区二区免费看| 伊人www22综合色| 色九月婷婷综合| 91一起操| 思思99热这里只有精品| 婷婷欧美激情综合| 色狠狠六月| 久久在线人妻| 99在线小视频| 丁香 亚洲 久久| 999热在线视频| 天天日天天爽| 九九视频在线观看视频6| 久久久久久久11111111111| 91操黄| 丁香六月婷婷社区| 久婷| 九九热视频网站| 天天草天天舔| 99久久综合| PORNY九色9l自拍视频成人| 天天操婷婷| AA片在线观看视频在线播放| 97婷婷五月丁香| 亚洲另类毛片| 99热这里只有99| 青青草六月丁香| 99免费| 天天操人人干| 97综合视频在线| 婷婷成人AV| 久久久久久久久久久久久久人妻视频| 久久丁香五月婷婷| 丁香色综合| 亚洲六月婷婷| 激情五月丁香五月综合| 99毛片| 婷婷五月天亚洲天堂| 五月婷婷开心六月激情小说| WWW免费视频碰碰碰碰| 能看的AV| 超碰免费观看| 激情婷婷综合网| 丁香五月天信号| 丁香六月天AV| 五月丁香六月婷婷综合网站| 狠狠爱婷婷丁香| 精品一区二区三区四区五区六区| 婷婷亚洲久久| 天天噪夜夜爽| 超碰免费人人| 激情五月天情色| 五月丁香日本在线视频观看| 婷婷丁香五月天激情| 欧美日韩91| 69综合在线| 色色综合网站| 99热免费在线| ..真实国产乱子伦对白在线_欧 | 天堂爱啪啪| 深爱五月天 开心网| 婷婷成人AV| 婷婷五月在线影院| www.99热日韩.com| 激情图片婷婷丁香五月| 玖玖在线视频| 日韩啪啪视频| 婷婷色六月| 91嫩草国产线观看亚洲一区二区| 色情五月天。| 天天摸色吧天天摸色吧| 日本人妻伦在线中文字幕| 久久日韩婷婷五月| 天天色综合色| 丁香九月激情| 婷婷性爱| 日韩色五月| 五月婷婷爽爽爽| 婷色人人狠| 久久99精品视频| 免费97碰碰| 天天日夜夜拍| 五月婷色丁香| 深爱激情69热| 免费观看18视频网站| 久久99热这里只有精品首| av在线激情| 99视频在线播放大全| 中文aV网| 久久小说| 激情伊人六| 人人操av| 六月激情婷婷综合| 色综合五月天| 久久国产精品乱子伦_靑青草…| 亚洲日日日| 丁香五月综合狠狠| 五月婷婷九| 色五月,com| 激情五月深爱五月| 五月天激情小说| 婷婷五月天Av| 99精品偷自拍| 亚洲精品小视频| 风流少妇A片一区二区蜜桃| 天天爱天天做天天舔| 亚洲色婷婷| 狠狠久久婷五月综合色| 精品无码久久久久久久久| www.久久五月天.com| 国外亚洲成AV人片在线观看 | 五月丁香婷草| 六月婷婷网站| 久久婷婷网址| 九九热在线视频观看| 91综合视频在线| www.天天干| 丁香六月婷婷开心| 日本高清久久| 五月婷六月丁香| 婷婷久久婷婷色五月| 激情综合五月| 色10月婷婷视频| av色婷婷| 99热99热在线观看| 久久R激情| 五月天最新网| 人妻人人操| 国产精品18久久久| 亚洲人成人五月天| 久99在线视频| 大香蕉伊人久久| 99热这里只有在线播放| 久久婷婷老| 天天肏高清在线| 久久久婷婷婷| 欧美日韩二区在线| 综合色色色| 婷婷综合在线| 九日日夜夜69| 色婷婷操逼| 97久久久久| 亚洲乱码日产精品BD| 天天色视频| 中文字幕亚洲-区久久99婷婷| 久久色婷婷| 婷婷激情鹿城五月天| 4399啪啪视频| 五月天婷婷激情| 婷婷五月天激情网址| 国产成人精品一区二区三区视频 | 久久精品五月天| 蜜臀AV在线观看| 天天日天天干天天操| 五月婷婷在线视频免费观看| 亚洲中文AV| 久操热线| 五月色天情| 99re最新地址视频| 五月天激情图片网| 日本猛少妇色XXXXX猛叫| 丁香五月天之婷婷影院| 一本久久亚洲五月婷婷| 久碰婷婷视频| 丝雨一区二区| 9+1视频网址| 五月婷婷丁香| 99这里只有精品在线| 在线你懂的亚洲欧| 热99.com婷婷| 五月天开心网| 99天堂网| 丁香在线视频| 亚州日本欧州韩美高青高潮一| www.97碰碰com| 五月综合激情啪啪啪啪啪| 天天做天天爱天天玩| 五月网激情| 玖玖色资源| 久热精品免费视频4| 大香蕉综合在线| 婷婷丁香五月天亚洲| 五月色亭丁香| 大香蕉婷婷丁香天堂AV| 不卡在线视频| 激情六月天| 天天艹夜夜艹| 激情性五月天免费小说视频| 天天综合天天做天天综合| 91干在线视频| 五月丁香天堂| 超碰cap| 国产婷伊人| 噜噜在线| 色五月激情| 欧美精产国品一二三区| 丁香五月人妻| 日本色色色| 五月丁香做爱视频| 99久久99热这里只有精品| 欧洲激情五月天婷婷| 超碰久热| 久久9视频| 7777激情基地| 日笨久久网| 伊人天堂婷婷| 99情色五月天| 成片免费观看大全| 久久99精品久| 91九色 熟| 亚洲精品第一国产综合亚AV| 99色在线观看视频者| 四季8848精品成人免费网站| 国产一区二区三区影院| 亚洲九区| 色综合色色| 久久99视频| 久久99激情| 五月丁香在线| 欧洲亚洲免费视频9| 激情久久四色| 日本超碰在线| 中文字幕婷婷| 午夜少妇在线观看视频| 婷色五月天| 五月天综合在线| 婷婷色色网| 国产99久久久国产精品免费看| 亚洲色婷婷| 饮料下药迷倒漂亮女同事强干| dingxiangtingtingliuyue| 午夜国产精品AV在线播放| 天天草天天舔| 婷婷色丁香五月| 日本无va视频| 日日日影院| 六月丁香好婷婷| 亚洲天天| 色婷丁香| 亚洲操操| 无毒黄色网址| 开心五月婷婷婷美女| 超碰人人干| 无码中文一区二区三区| 五月丁香无码视频| 91丨九色丨白浆秘| 中文字幕成人| 伊人免费视频9| 4399高清无码视频| 99re热精品在线视频| 中文久久久人妻| 色射婷婷五月天| 丁香五月天婷婷激情| 五月丁香人妻| 丁香婷婷狠狠97| 夜色综合网| 天天日天天插天天操| 丁香五月天激情小说| h在线看免费版在线看| 久久精彩免费视频| 超碰2021| 色久九| 黄色99网| 九九亚洲| 熟女人妻一区二区三区免费看| 五月婷久久综合| 久久伊人大香蕉| 五月天俺去也| 丁香激情五月天| 综合九九日本| 丁香五月狠狠综合欧美| 亚洲成人高清在线| 日韩艹比| 欧韩性爱| A久久| 婷婷五月丁香综合网| 成年人夜夜喷水| AV国产有码| 激情婷婷五月天| 五月婷婷丁香五月| 99热这里只有精品33| 五月婷婷激情综合网 | 国外亚洲成AV人片在线观看| 密臀av无码人妻精品| 欧美日韩AAAAA| 激情图片久久| 五月伊人91| 色婷婷婷av| 激情六月天| 亚洲狠狠色丁香婷婷综合久久| 91碰在线| 激情五月婷婷网在线观看| 丁香五月天.com| 99爱在线| 久久五月六月| 免费不卡狠操美女视频网| 国产精品电影| 天天噜日日噜综合无码| 五月亭亭六月天| 强辱丰满人妻HD中文字幕| 亚洲成人高清在线| 深爱激情五月网| 在线观看免费观看在线9久| 亚洲中文av| 五月婷婷五月天| 九月丁香婷婷网| 大香蕉久久| 色五月大| 性爱五月婷| 久久99美女精彩视频| 性做久久久久久久免费看| 99久久精彩视频| 开心激情网在线| 色婷婷综合久久| 国产丁香五月天婷婷| 久久xxxx| 99人碰碰碰| 天天操夜夜操| 激情国产综合| 婷婷五月天激情免费在线观看| 日韩一级一片内射视频4K| 丁香久色| 激情五月婷婷| 久久99热这里只有精品首| 操碰91| 欧洲综合视频| 色色丁香婷婷| 9色在线视频| 激情六月丁香| 日本色久| 狠狠色噜噜狠狠亚洲A∨| 五月丁香基地| 五月婷婷先锋| www激情婷婷com| 日韩美女在线视频19| h在线看免费版在线看| 操久久精| 97久久视频| 人妻久久做| 密着浓厚中出乚交尾GvG935| 婷婷六月五月天综合| 不卡成人免费| 激情视频综合| 婷婷成人网五月天| 五月天婷婷影院| 激情综合网 激情五月天| 久久日曰| 狠狠色丁香婷婷久久综合| 婷婷激情四射| 五月丁香综合激情| 色五月丁香在线| 91AV视频| 久久永久视频| 天天综合.com| 欧美性交一区二区三区| 欧美天堂久久| 综合五月天亚洲婷婷| 中文字幕丰满孑伦无码专区| 亚洲视频伍月婷婷| 99自拍视频网站| 思思热在线精品视频| 婷婷综合五月色播| 超碰97免费在线| 九九热99热| 激情综合亚洲色婷婷五月| 亚洲午夜国产成人电影VA国产欧…| 色婷婷成人五月| 99热这里是精品| WWW.久久.COM| 激情第四色| 青草久久五月婷伊人| 黄色91在线观看| www色色色com| 色亭亭五月天丁香综合AV - 百度 - 百度 | 国产无套精品一区二区| 色久综合天天做视频| 五月丁香激情婷婷| 色狠狠色综合久久久绯色aⅴ影视| 色五月大| 亚洲精品小视频| 久久狠狠干| 天天色天天操天天射| 欧美精品啪啪| 91小黄书网址在线观看| 婷婷五月天综合网| 超级碰碰一区| 人人操AV| 生活片五区| 天天操夜夜玩!| 成人欧美日韩| 久久久9久| 久久婷婷色| 久久久久网站| 丁香五月激情无码视频| 国产99久久久| 久久精品五月| 鲁鲁色五月| 色婷久久| 婷婷综合激情| 亚洲mm色| 99色色网| 狠狠情色| 丁J香六月首页| 五月婷丁香| 91啪啪视频| 噜一噜在线| 婷婷五月婷婷五月| www.99热国产| 六月激情婷婷| 超碰97色| 伊人婷婷99热精品| 男女啪啪做爰高潮无遮挡| 五月婷婷激情久久| 欧美成人网婷婷综合在线| 天天插天天插天天操| 鲁鲁色五月| 婷婷五月天成人网| 五月天婷婷色色| 久久A V无码视频| 丁香五月天激情AV| 婷婷五月天深爱| 99精品视频在线6| 99超级碰免费视频| 色狠狠色综合久久久绯色AⅤ影视| 2021日韩无码| 人碰人人人玩91| 中文字幕精品无码一区二区| 91久操| 久草天堂| 五月天社区| 色情婷婷| 欧美色宗和激情| 日韩高清成人| 五月婷婷偷拍| 丁香五月婷婷AV在线| 亚洲激情.com| 久久少妇视频| www,av好吊操| 99这里只有精品99| 骚。com| 色婷婷色婷婷五月| 99精色| 日本丁香五月| 开心五月色婷婷综合开心网| 九月激情婷婷丁香| 五月天激情小说| 成人中文网| 亚洲精品V天堂中文字幕| 日本V在线观看不卡视频网站| 91av传媒高清在线视频网| 大地资源色婷婷视频在线| 日本精品人妻无码77777| 无码人妻丰满熟妇奶水区码| 色色色热| 91人人爱| 国产亚洲av片| 婷婷丁香黄色| 伊人色综合影院视频| 九九精品视频免费在线| 青青夜夜狠狠夜夜狠狠| 《战争与艾拉》完整版| 99综合99| 欧美激情综合五月色丁香| 天天操婷婷| 久草天堂| 99精品在线观看| 欧美日韩中文国产一区发布| 色综合99无码| 激情五月天色婷婷综合| 欧美婷婷日本| 99热情这里只有精品在线播放| 色情五月综合婷婷| 亚洲成人高清在线| 丁香五月性| 五月亚洲激情| 成人视频婷婷| 色色色在线观看| 亚洲五月花| 校花娇喘呻吟校长陈若雪视频| 久久综合站| 色婷婷五月综合在线| 六月亚洲婷婷6月中文字幕| 六月色色综合| 丁香五月天论坛| 久久婷婷五月| 成人无码髙潮喷水A片| 中文字幕无码成人电影| 丁香激情久久| 青青草六月丁香| 激情六月日韩| 久热这里只有| 色婷婷五月综合色婷婷| 超碰93在线观看| 欧洲亚洲免费视频9| 开心激情综合| 五月丁香色色网| BlACKEDRAW视频一区二区| 色婷| www.五月天。com| 丁香五月天堂网| 中文字幕网伦射乱中文| 色99婷婷五月天| 5月色亭亭视频| 夜夜爽天天爽| 99色婷婷| 色婷婷综合成人| 婷婷五月天激情综合深爱| 操逼巨乳91| 日本WwW色偷偷丁香花久久久京东热| 五月丁香久久呀| 婷婷六月丁香激情综合| 思思热这里只有精品| 五月天激情影院| 九九综合九| 婷婷午夜精品久久久| 五月丁香六月婷婷网站| 五月婷婷在线免费观看| 人操91在线| 欧美激情五月天婷婷| 丁香婷婷基地| 亚洲亚洲人成综合网络| 九九热欧美| 亚洲五月色| 丰满少妇猛烈A片免费看观看 | 亚洲AV无码一区二| 在线五月色播| 五月丁香色| 色原狠狠综合| 夜夜操狠狠操天天操| 色综合天堂| 婷婷五月天首页激情| 激情五月亚洲综合网| 久久久五月天| 涩 五月 婷婷 狠狠| 五月天久久www| 伊人久久艹| 天天网曰日曰夜夜综合永久免费| 婷婷五月丁香激情色情| a久久| 久久激情五月| 激情九九综合网| 国产无遮挡又黄又爽免费网站| 五月婷婷性爱| 天天肏高清在线| 色综合色色色色色色综合| 欧洲综合视频在线观看。欧洲,亚洲综合食品在线观看。 | 狠狠色婷| 天天透天天摸天天舔| 偷偷与邻居做爰完整视频| 99久久精品色老| 国产精品色色| 欧美日韩日韩成人| 国产色99| 久久黄色片| 九九一综合精品| 99网| www.99色| 亚洲美女高潮久久久久久69| 五月天丁香久久| 精品色色| 9l视频自拍九色9l视频在线观看| 秋霞午夜理论| 女人高潮内射99精品| 五月综合视频在线| 五月亭亭开心网| av网址在线| 亚洲啪啪啪啪| 99免费综合网| 五月丁香综合网| 激情五月亚洲综合网|