当前位置: 首页 > 面试题库 >

SQL-使用GROUP BY时,多值逗号分隔

汲涵育
2023-03-14
问题内容

我有看起来像的数据

CUSTOMER,  CUSTOMER_ID, PRODUCT
ABC INC    1            XYX
ABC INC    1            ZZZ
DEF CO     2            XYX
DEF CO     2            ZZZ
DEF CO     2            WWW
GHI LLC    3            ZYX

我想编写一个查询,使数据看起来像这样:

CUSTOMER, CUSTOMER_ID, PRODUCTS
ABC INC   1            XYX, ZZZ
DEF CO    2            XYX, ZZZ, WWW
GHI LLC   3            ZYX

如果有帮助,请使用Oracle
10g。我看到了一些可以使用MYSQL正常工作的东西,但是我需要一个普通的SQL或ORACLE等效项。我也看到了可以制作存储过程的示例,但是,我不能将存储过程与正在使用的产品一起使用。

如果我正在使用它,这是如何在MySQL中工作的

SELECT CUSTOMER, 
       CUSTOMER_ID, 
       GROUP_CONCAT( PRODUCT ) 
FROM MAGIC_TABLE 
GROUP BY CUSTOMER, CUSTOMER_ID

谢谢你。


问题答案:

该链接引用了许多在Oracle上执行此操作的不同示例。查看那里是否有您有权执行的数据库操作。



 类似资料:
  • 问题内容: 我有看起来像这样的数据: 对于每个customer_id,我需要用逗号分隔的列表,以指示该客户运营的月份: 等等。如何使用SQL Server 2005 SQL(而不是T-SQL)轻松生成此逗号分隔的列表? 我在Stack Overflow和其他地方在这里看到的大多数解决方案似乎都是基于联接多个行值而不是列值来创建逗号分隔的列表: T-SQL FOR XML路径(’‘) 关联的子查询与

  • 问题内容: 我有一个其中有很多记录的记录,我想知道其中有多少个名字,以及其中一个名字多少时间。 表名 我想找到多少个名字及其数量。 预期的输出应该是这样的 帮助我解决它。 问题答案: 结果:

  • 问题内容: 这个问题已经在这里有了答案 : MySQL:将逗号分隔的列表分成多行 (4个答案) 6年前关闭。 我有一列带有可变数量的逗号分隔值: 我希望结果采用每个值,并创建一行: 如何在SQL(MySQL)中执行此操作? (我曾尝试使用谷歌搜索“内爆”和“侧面视图”,但是这些似乎并没有出现相关问题。所有相关的SO问题都在尝试做更复杂的事情) 问题答案: 您可以使用纯SQL来做到这一点 注意: 诀

  • 问题内容: 我正在从存储过程中调用Scalar UDF以获取列值。在标量UDF内,我有一个xml,并且必须获取特定节点的逗号分隔值。我使用了Cross apply,但是它导致了巨大的性能瓶颈,因为存储过程实际上是用来获取报告的。 有一个[旅行者]表,其中包含字段ID,BookingID(可以重复)和FareDetails。在FareDetails内部,我们存储xml。 UDF内部的逻辑如下:第一解

  • 问题内容: 我有一个这样的表: Department是另一个具有dept_id和dept_name作为列的表。我想要这样的结果, 有什么帮助吗? 问题答案: 您可以按照以下方式进行操作: 编辑: 基于我需要加入哪一列?在一个表中,我有逗号分隔的ID,而在其他表中,我只有ID

  • 问题内容: 我有一个连接到我的应用程序的JSON feed。其中一项是经纬度,以逗号分隔。例如:“ 32.0235,1.345”。 我正在尝试通过逗号将其拆分为两个单独的值。 有什么建议吗?谢谢!! 问题答案: