gpt4 book ai didi

sql - MySQL - Where IN 与 GROUP_CONCAT 一起

转载 作者:可可西里 更新时间:2023-11-01 07:21:41 28 4
gpt4 key购买 nike

IN() 中使用的查询返回:1, 2。然而,整个查询返回 0 行,这是不可能的,因为它们存在。我在这里做错了什么?

SELECT DISTINCT 
li.auto_id
FROM
links AS li
JOIN group_data AS gi ON
li.auto_id = gi.autoid AND li.user_id = gi.userid
WHERE
gi.groupid IN
(
SELECT
CAST( GROUP_CONCAT( gf.groupid ) AS CHAR )
FROM
group_followers AS gf
WHERE
gf.userid_ext = '1'
GROUP BY
gf.userid_ext
)
AND li.keyword LIKE '%shiba%'

非常感谢,

最佳答案

来自 the docs :

GROUP_CONCAT(expr):
This function returns a string result with the concatenated non-NULL values from a group.

您得到一个包含 '1,2'字符串。这不是您可以提供给 IN 子句的任何内容,因为它是一个单个值,而不是两个。

只要不使用 GROUP_CONCAT 就可以了:

gi.groupid IN 
(
SELECT
gf.groupid
FROM
...
)

关于sql - MySQL - Where IN 与 GROUP_CONCAT 一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/312561/

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