gpt4 book ai didi

mysql - 如何计算 GROUP_CONCAT 中有多少个逗号分隔值

转载 作者:行者123 更新时间:2023-11-29 01:37:57 24 4
gpt4 key购买 nike

在这样的查询中:

SELECT GROUP_CONCAT(DISTINCT( p.products_id )) AS comma_separated 
FROM products p
left join specials s
ON p.products_id = s.products_id
left join products_to_categories p2c
ON p.products_id = p2c.products_id
left join products_description pd
ON p.products_id = pd.products_id
inner join products_attributes pa
ON p.products_id = pa.products_id
WHERE p.products_status = '1'
AND p2c.categories_id = 57
AND Date_sub(Curdate(), interval 7000 day) <= p.products_date_added
ORDER BY p.products_id DESC

我在名为 comma_separated 的字段中得到一长串逗号分隔数字的结果。如何修改查询以计算有多少个逗号分隔值?

编辑:

谢谢 Barmar 的回答。我不断得到一个更短的数字列表(107 个值而不是实际计数中的 4000+),现在我终于找到了原因。似乎 GROUP_CONCAT 被限制为 1024 个字符,这对我的应用程序来说非常糟糕。来源:http://www.bennadel.com/blog/2669-mysql-group-concat-fails-silently-when-it-hits-its-size-limit.htm

最佳答案

使用 COUNT 来计算它们。

SELECT Group_concat(DISTINCT( p.products_id )) AS comma_separated,
COUNT(DISTINCT p.products_id) AS product_count
FROM ...

关于mysql - 如何计算 GROUP_CONCAT 中有多少个逗号分隔值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34489881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com