gpt4 book ai didi

SQL: 在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中

转载 作者:搜寻专家 更新时间:2023-10-30 23:39:03 25 4
gpt4 key购买 nike

left join
(
SELECT my_number, MAX(id) as id
FROM table1
GROUP BY location
) newNum
on newNum.Part = c.OtherPart

left join table2 t2 on t2.id = newNum.id and t2.site = a.site

情况:我在表 1 中有数据字段(除其他外)my_number、location 和 id。在 table2 中,我有数据字段(除其他外)id、site、date。我将它们加入到具有一些相同数据字段和 my_numbers 的其他 View /表(c 和 a)中。

我的目标:每个 my_number 都有多个 ID,我希望每个站点的 ID 值最大。这就是我按站点分组的原因。然后我需要根据 id 获取 my_number 的“日期”,因为第二个表不包含 my_number,只包含其关联的 id。共有 3 个站点,因此我需要每个站点的 3 个最大 id 值。然后我想获取这 3 个 id 值的“日期”

输出表例:

a.num   a.site  a.date  c.OtherPart T2.date
15 TN 1.1.16 17 3.19.16
15 FL 2.21.16 17 4.22.16
15 TX 1.7.15 17 3.21.16

最佳答案

当您在 SQL 查询中放置类似 max(column) 的内容时,max 函数将对一组列的一组值进行操作。如果您使用分组依据定义了查询,以便对结果进行分组,那么每一列(除了您分组的那一列)都有多个值。

在您的例子中,location 有一个值(这是您分组的依据),但是 my_numberid 有多个值。如果 my_number 是 (1,2,3,4) 并且 id 是 (5,6,7,8),你可以显示 sum(my_number) 或 max(my_number) 但显然你不能在一行中显示 '号码'我的号码。这不是一个数字,而是一个列表。

这就是错误消息“SQL:在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中”时的意思 如果您将列 my_column 在聚合函数(如 sum)中它会起作用,或者如果您将它添加到 group by 子句中它会起作用。

关于SQL: 在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37471498/

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