在MySQL中以逗号分隔的行中获取不同值的计数

在MySQL中以逗号分隔的行中获取不同值的计数,第1张

在MySQL中以逗号分隔的行中获取不同值的计数
SELECt   SUBSTRING_INDEX(SUBSTRING_INDEX(all_city, ',', num), ',', -1) AS one_city,  COUNT(*) AS cntFROM (  SELECt    GROUP_CONCAt(city separator ',') AS all_city,    LENGTH(GROUP_CONCAt(citySEPARATOR ',')) - LENGTH(REPLACE(GROUP_CONCAt(citySEPARATOR ','), ',', '')) + 1 AS count_city  FROM table_name) tJOIN numbers nON n.num <= t.count_cityGROUP BY one_cityORDER BY cnt DESC;

为了获得用逗号分隔的不同值的计数,可以在查询之上运行,但是要获得正确的结果,您应该再使用一个表

**numbers**
,该表只有一个列num整数类型,并插入一些值。如果在此情况下在GROUP_CONCAT(城市分隔符’,’)AS
all_city期间出错,则设置一个全局变量“ SET group_concat_max_len = 18446744073709547520;”



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5431702.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存