gpt4 book ai didi

mysql - 是否可以在聚合上使用子查询 IN 子句?

转载 作者:行者123 更新时间:2023-11-29 11:38:22 27 4
gpt4 key购买 nike

所以我有以下正常查询:

SELECT 
someCol,
COUNT(*),
GROUP_CONCAT(myTableID SEPARATOR ',')
FROM myTable
GROUP BY someCol

我想在子查询的 IN 子句的第三列中使用 myTableID 列表。以下非工作查询说明了这一点:

# this does not work
SELECT
someCol,
COUNT(*),
( SELECT COUNT(mySubTable.*)
FROM mySubTable
WHERE mySubTable.foreignID IN GROUP_CONCAT(myTable.myTableID SEPERATOR ',')
) AS FOREIGN_COUNT
FROM myTable GROUP BY someCol

IN GROUP_CONCAT() 部分不起作用,因为 GROUP_CONCAT() 只是返回带逗号的字符串,而不是实际的 id 列表或子查询。

我的问题是,是否可以使用 myTableID 的聚合列表作为子查询的 IN 子句的一部分?

最佳答案

使用“SUM”函数执行这样的任务:

SELECT 
someCol,
COUNT(*),
GROUP_CONCAT(myTableID SEPARATOR ','),
SUM(
( select COUNT(*) FROM mySubTable
WHERE mySubTable.foreignID = myTable.myTableId )
)
FROM myTable
GROUP BY someCol;

关于mysql - 是否可以在聚合上使用子查询 IN 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36243926/

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