gpt4 book ai didi

mysql - 在 GROUP_CONCAT 中选择 ID

转载 作者:可可西里 更新时间:2023-11-01 08:03:31 29 4
gpt4 key购买 nike

我如何将 WHEREHAVING 子句与 GROUP_CONCAT 结合使用,以便返回的数据将包含项目的任意组合包含 ID 的 GROUP_CONCAT 而不仅仅是单个匹配项,例如

SELECT p.id,
p.title,
GROUP_CONCAT(a.author_id) as 'aus'
FROM publications p INNER JOIN authors a
ON p.publication_id = a.publication_id
WHERE a.author_id = 2
GROUP BY p.id,p.title

会回来

id    title     aus
1 A 1,2,3
2 B 1,2
3 C 2
4 D 2
5 E 2,3

而不仅仅是 3 和 4。

我在 a.author_id 列和 GROUP_CONCAT 产品上尝试了 HAVINGWHERE 子句的各种组合。

最佳答案

您应该在 HAVING 子句中使用 FIND_IN_SET。

SELECT p.id, p.title, GROUP_CONCAT(a.author_id) as aus
FROM publications p INNER JOIN authors a
ON p.publication_id = a.publication_id
WHERE 1
GROUP BY p.id,p.title
HAVING FIND_IN_SET('2', aus) > 0

关于mysql - 在 GROUP_CONCAT 中选择 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41696739/

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