gpt4 book ai didi

带有分隔符逗号的 Php 和 MySQL GROUP_CONCAT 并搜索按逗号连接的位置

转载 作者:可可西里 更新时间:2023-11-01 07:49:48 25 4
gpt4 key购买 nike

是否可以在 Group_concat 中选择带分隔符的逗号并搜索用逗号连接的地方这是我的 mysql 示例:

products_attributes_id  |products_id|   options_id|     options_values_id 
39 | 31 | 3 | 3
35 | 30 | 2 | 2
38 | 30 | 1 | 1
40 | 31 | 2 | 2
41 | 30 | 1 | 4
42 | 30 | 1 | 5
43 | 31 | 1 | 4

我想 GROUP_CONCAT options_values_id

SELECT * , GROUP_CONCAT(options_values_id SEPARATOR ',') FROM products_attributes 按 products_id 分组

products_attributes_id  |   products_id |   options_id  |   options_values_id   |   options_values_id
35 | 30 | 2 | 2 | 2,1,4,5
39 | 31 | 3 | 3 | 3,2,4

现在我的问题是,如果我的值为 1,2 或 2,4,我将如何通过搜索(带逗号的 option_values_id)找到 product_id,那么我将只得到 product_id=30。但是,如果我得到值 1,3,我将一无所获。因为 product_id 30 没有 option_values_id 3和 product_id 31 没有 option_values_id 1。

我尝试了这段代码,但我无法获得 product_id

    SELECT * , GROUP_CONCAT( options_values_id
SEPARATOR ',' )
FROM `products_attributes` WHERE CONCAT(',',options_values_id,',') LIKE '%,1,2,%'
GROUP BY products_id

最佳答案

试试这个:

SELECT 
products_id ,
GROUP_CONCAT(options_values_id SEPARATOR ',') as ops
FROM
products_attributes
GROUP by
products_id
HAVING
FIND_IN_SET('1',ops)
OR FIND_IN_SET('3',ops)

关于带有分隔符逗号的 Php 和 MySQL GROUP_CONCAT 并搜索按逗号连接的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16958908/

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