最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL函數(shù)Group_concat的用法及說明

 更新時(shí)間:2023年03月02日 08:32:39   作者:寸草心2130  
這篇文章主要介紹了SQL函數(shù)Group_concat的用法及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SQL函數(shù)Group_concat的用法

完整語法如下

group_concat([DISTINCT] 要連接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
SELECT * FROM testgroup

表結(jié)構(gòu)與數(shù)據(jù)如上

現(xiàn)在的需求就是每個(gè)id為一行 在前臺(tái)每行顯示該id所有分?jǐn)?shù)

group_concat 上場(chǎng)?。?!

SELECT id,GROUP_CONCAT(score) FROM testgroup GROUP BY id

可以看到 根據(jù)id 分成了三行 并且分?jǐn)?shù)默認(rèn)用 逗號(hào) 分割 但是有每個(gè)id有重復(fù)數(shù)據(jù) 接下來去重

SELECT id,GROUP_CONCAT(DISTINCT score) FROM testgroup GROUP BY id

排序

SELECT id,GROUP_CONCAT(score ORDER BY score DESC) FROM testgroup GROUP BY id

最后可以設(shè)置分隔符

SELECT id,GROUP_CONCAT(score SEPARATOR ';') FROM testgroup GROUP BY id

這樣我們的數(shù)據(jù)就根據(jù)id 不同分隔符 放在了一行 前臺(tái)可以根絕對(duì)應(yīng)的分隔符 對(duì)score 字段進(jìn)行分割 但是有可能存在score 數(shù)據(jù)類型過大問題

達(dá)到需求目的?。?!

Group_concat函數(shù)長(zhǎng)度問題

今天出了個(gè)線上bug,先通過其他手段把bug避免了,然后打日志查看具體原因,發(fā)現(xiàn)是一個(gè)sql查出來的字段內(nèi)容少了很多,一查詢?cè)瓉硎莋roup_concat函數(shù)最大長(zhǎng)度只有1024,超過長(zhǎng)度會(huì)被截取。

解決的方式有三個(gè)

  • 修改sql查詢邏輯,避免使用group_concat
  • 修改配置文件,添加或修改 group_concat_max_len = 1024000 ,然后重啟服務(wù)。這個(gè)方式是永久性的
  • 修改變量
use mysql;
SHOW VARIABLES LIKE "group_concat_max_len"; #查詢最大值

SET GLOBAL group_concat_max_len=10240000;
SET SESSION group_concat_max_len=10240000;

特別注意:只對(duì)當(dāng)前會(huì)話有效

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

穆棱市| 即墨市| 丰都县| 彩票| 永仁县| 峨眉山市| 台山市| 图木舒克市| 宜黄县| 福贡县| 报价| 温宿县| 永济市| 正镶白旗| 忻城县| 南乐县| 公安县| 东至县| 潞城市| 工布江达县| 岳阳县| 淳安县| 平原县| 安西县| 腾冲县| 宁南县| 徐汇区| 施秉县| 高州市| 怀柔区| 芜湖县| 策勒县| 萍乡市| 毕节市| 玉田县| 东兰县| 喀什市| 高邑县| 天峻县| 道真| 凤凰县|