Sql 是否按查询检索分组中的备用属性值?

Sql 是否按查询检索分组中的备用属性值?,sql,mysql,aggregate-functions,Sql,Mysql,Aggregate Functions,让我解释一下这个问题的意思: 假设我必须使用以下表格: customers id customer location 1 Adam UK 2 Pete US values id value 1 10 1 7 2 3 2 41 让我们暂时忽略一下这一点(以及下面的查询)没有多大意义。这只是一个简单的例子 现在,如果我运行这个查询 SELECT id, customer, value FROM customers INNER JOIN values G

让我解释一下这个问题的意思:

假设我必须使用以下表格:

customers
id customer location
1   Adam     UK
2   Pete     US

values
id value
1   10
1    7
2    3
2   41
让我们暂时忽略一下这一点(以及下面的查询)没有多大意义。这只是一个简单的例子

现在,如果我运行这个查询

SELECT id, customer, value FROM customers INNER JOIN values GROUP BY id
我应该得到这个结果(通过id区分)

我希望能够在搜索结果列表中使用它,但对于结果的实际显示,我希望这样做:

Customer: Adam
Values: 10, 7
因此,基本上,虽然我需要一个对ID不同的结果集,但我仍然希望以某种方式保存groupby删除的行,以显示上面的值列表。做这件事最好的方法是什么?

看看-哪种方法只在MySql中有效

更好的链接:

看看-这只在MySql中有效


更好的链接:

从技术上讲,以下SQL是无效的,即使MySQL允许:

Select customers.id, customers.customer, values.value 
From customers 
    Inner Join values 
        On values.id = customers.id
Group By customers.id
SQL规范要求Select子句中的每一列在Group By中或在聚合函数中引用。然而,考虑到你在文章后面所说的,我认为你想要的是Erik(+1)首先提到的,这是MySQL特有的函数:

Select customers.customer, Group_Concat(values.value)
From customers 
    Inner Join values 
        On values.id = customers.id
Group By customers.customer

从技术上讲,以下SQL是无效的,即使MySQL允许:

Select customers.id, customers.customer, values.value 
From customers 
    Inner Join values 
        On values.id = customers.id
Group By customers.id
SQL规范要求Select子句中的每一列在Group By中或在聚合函数中引用。然而,考虑到你在文章后面所说的,我认为你想要的是Erik(+1)首先提到的,这是MySQL特有的函数:

Select customers.customer, Group_Concat(values.value)
From customers 
    Inner Join values 
        On values.id = customers.id
Group By customers.customer

谢谢你们两位提到sql规范限制,幸运的是我只需要在mySQL数据库上运行此代码谢谢你们两位提到sql规范限制,幸运的是我只需要在mySQL数据库上运行此代码