SQL 将一列的值分组到另一列

2024-04-07

SQL 中是否有某种“聚合”函数可以将值转换为列表?一个示例可能是以下形式的表格:

| game_id | player | score |
|---------|--------|-------|
|   1     | fred   | 2     |
|   1     | tom    | 1     |
|   2     | fred   | 3     |
|   2     | tom    | 4     |

我想要返回的是一个如下所示的表:

| player | scores |
|--------|--------|
|   fred | 2, 3   | 
|   tom  | 1, 4   |

该命令可能类似于:SELECT player, listify(score) FROM games GROUP BY player;


感谢蒂姆和戈登。我正在寻找的 Postgres 函数是array_agg。本例中的完整查询如下所示:

SELECT player, array_to_string(array_agg(score), ',') AS scores FROM games GROUP BY player;

array_agg将所有分数放入一个数组中,您必须将它们转换为字符串才能在 SELECT 语句中返回它们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL 将一列的值分组到另一列 的相关文章

  • 将两行中相似的列数据合并到一行中

    我的查询结果具有以下特征 LIDCode Total Domain Region VSE Version AB02 15 GLOBAL CANLA 0 6943 AB02 5925 CENTRE STREET SW 31 GLOBAL CA
  • postgres 有 CLOSEST 运算符吗?

    我正在寻找这样的东西 给定一个表格 id number 1 7 2 1 25 3 1 01 4 3 0 查询SELECT FROM my table WHEREnumberCLOSEST 1 将返回第 3 行 我只关心数字 现在我有一个程序
  • 数据库错误:值对于类型字符变化来说太长(100)

    我有一个 Django 网站 运行我们几年前在内部构建的迷你 CMS 它使用 postgresql 保存简单的标题和一段文本时 出现以下错误 value too long for type character varying 100 奇怪的
  • Oracle 中的 SQL 调优 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何文章 链接可以让我找到 SQL 调优 Oracle 的示例 如果能用例子来解释那就太好了 我需
  • 对于数据库来说,选择正确的数据类型会影响性能吗?

    如果是这样 为什么 我的意思是 tinyint 的搜索速度比 int 快吗 如果是这样 性能上的实际差异是什么 是的 根据数据类型 它确实有所不同 int vs tinyint不会在速度上产生明显的差异 但会在数据大小上产生差异 假设tin
  • 如何有效地从 DB2 表中删除所有行

    我有一个大约有 50 万行的表 我想删除所有行 如果我做简单的delete from tbl 事务日志已满 我不关心这种情况下的事务 无论如何我都不想回滚 我可以删除许多事务中的行 但是有更好的方法吗 如何有效地从 DB2 中的表中删除所有
  • 使用Powershell访问远程Oracle数据库

    我需要能够连接到我的网络上基于 Windows 7 的 Oracle 服务器 32 位 Oracle XE 我需要连接的机器运行 Windows 7 64 位 两台机器上都安装了 Powershell 我已在 64 位计算机上安装了 Ora
  • SQL参数化查询不显示结果

    我的 DataAcess 类中有以下函数 但它没有显示任何结果 我的代码如下 public List
  • 没有运算符与给定名称和参数类型匹配。您可能需要添加显式类型转换。 -- Netbeans、Postgresql 8.4 和 Glassfish

    我正在尝试使用 EclipseLink 在 Glassfish 中使用 JPA 编辑 Postgresql 中的表 当我插入一个实体时 它运行良好 但是 当我尝试编辑或删除同一实体时 它失败并出现以下错误 任何想法 Caused by Ex
  • 根据表sql中的行替换字符串中的字符

    我需要用一些映射的字符替换字符串中的字符列表 我有一个表 dbo CharacterMappings 有 2 列 CharacterToFilter 和 ReplacementCharacter 假设这个表中有3条记录 Filter Rep
  • 是否有可能在 postgres 中捕获外键违规

    我正在尝试将数据插入具有外键约束的表中 如果我插入的行中存在约束违规 我想丢弃该数据 问题是每次我违反约束时 postgres 都会返回一个错误 我是否可以在插入语句中添加一些语句 例如 ON FOREIGN KEY CONSTRAINT
  • SQLite HAVING 比较错误

    我有一个测试 SQLite 表 用于存储带有值的报告数据 CREATE TABLE IF NOT EXISTS test fact daily revenue date TEXT revenue NUMERIC product TEXT I
  • 使用两个日期之间的随机日期时间更新每一行

    我有一个专栏叫date created我希望每一行保存一个随机日期 日期距当前时间为 2 天 我正在运行以下查询 但它会更新具有相同随机日期的所有行 我希望每一行都是随机的并且不相同 update table set date create
  • 如何使用PostGIS将多边形数据转换为线段

    我在 PostgreSQL PostGIS 中有一个多边形数据表 现在我需要将此多边形数据转换为其相应的线段 谁能告诉我如何使用 PostGIS 查询进行转换 提前致谢 一般来说 将多边形转换为线可能并不简单 因为没有一对一的映射 http
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • 在sqlite SQL语句中与order by子句结合使用limit

    下面的两条 SQL 语句总是会产生相同的结果集吗 1 SELECT FROM MyTable where Status 0 order by StartTime asc limit 10 2 SELECT FROM SELECT FROM
  • 列中差异的数量

    我想检索一列每行中有多少个字母的差异 例如 如果您有一个值 test 而另一行有一个值 testing 则 test 和 testing 之间的差异为 4 个字母 该列的数据值为 4 I have reflected about it an
  • sql server 按组排名

    问题看似简单 但我却无法理解 这是针对 sql 服务器的 what I have in a table What I need as a output cksum id cksum id 2162514679 204 2162514679
  • 了解 SSMS 2008 中关系的更新和删除规则

    当我们定义外键约束时 我对 SQL Server 2008 Management Studio 中的更新和删除规则的含义感到困惑 我也没有找到相关的帮助文档 例如F1帮助 这是屏幕快照 如果有人能描述它们的含义并推荐一些相关文档来阅读 我将
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int

随机推荐

  • 单字段结构体的大小始终与字段大小相同吗?

    In 这个问题 https stackoverflow com questions 75703300 how can i make two types recognized as different by the compiler but
  • 无法在 Laravel 10 中安装 jenssegers/mongodb

    我是 Laravel 的新手 我想使用 Laravel 10 连接到 MongoDB 需要安装 jenssegers mongodb 当我运行命令时composer require jenssegers mongodb 3 8 0 igno
  • 使用Jquery自动提交表单

    我正在尝试在页面加载后自动使用 jquery 提交表单 function input name name val somename input name email val email protected cdn cgi l email p
  • 相对布局alignParentLeft与alignParentStart[重复]

    这个问题在这里已经有答案了 所以我很喜欢使用相对布局 但是在习惯 Android Studio 的同时 我注意到在我的相对布局子视图中它生成了以下两个内容 android layout alignParentLeft true androi
  • 无法更新多处理的 manager.dict() 中的嵌套字典值

    我正在尝试更新多处理模块的 manager dict 的嵌套字典中的键 但无法这样做 它不会更新值 也不会引发任何错误 Code import time import random from multiprocessing import P
  • 字符串比较不起作用

    我正在尝试比较 WordPress 中的帖子标题 以避免创建标题已存在的帖子 foreach postnamearray as value if value titelzor echo value titelzor else echo va
  • 新发布的“使用Google Play服务进行身份验证”,通过GoogleAuthUtil.getToken获取令牌的问题

    Update 刚才我使用我也用于 Google App Engine 的 Google 帐户注册了 Google API 现在错误已更改为com google android gms auth GoogleAuthException Unk
  • 如何解决 C# 中机器人的干扰问题?

    我做了一个电报机器人 事实上 机器人是一个游戏 玩猜某些单词 但问题是当我将机器人添加到两个不同的组 作为管理员 或两个用户 Telegram 分别使用机器人和启动机器人时 会产生影响一个人的游戏对下一个人的游戏造成干扰 例如 如果 joh
  • Visual Studio 15.8.1 不运行 MS 单元测试

    当我将 Visual Studio 更新到最新版本时 我的一个测试项目停止运行测试并输出以下消息 测试项目 未引用任何 NET NuGet 适配器 测试 发现或执行可能不适用于该项目 这是 建议在每个测试项目中引用 NuGet 测试适配器
  • 向下浮动和双倍值的向下函数

    如何将下限函数应用于浮点或双精度值以获取整数 我得到双精度值 4 4497083717E10 float 值 4 4497084E10 从我的函数中出来 我得到的下限值为 Double 下限 4 4497083717E10 float 下限
  • GPUImage :将过滤器应用于现有视频文件

    我试图使用视频过滤器GPUImage框架 我跟着过滤和重新编码电影 http www sunsetlakesoftware com 2012 02 12 introducing gpuimage framework教程 它给了我错误Unkn
  • 如何在 SpiderMonkey JavaScript 中获取控制台输入?

    我目前正在使用 Spidermonkey 来运行我的 JavaScript 代码 我想知道是否有一个函数可以从控制台获取输入 类似于 Python 的做法 var raw input 或者在 C 中 std cin gt gt var 我环
  • 如何在 PostgreSQL 中的换行符上将一个值拆分为多行?

    我有一个名为BookInfo具有以下结构 id book name description 1 book 1 harry potter Part 2 2 我怎样才能分割该行 id 1 在换行符上分成多行 以便harry n potter n
  • iOS 14 - 如何以编程方式打开默认邮件应用程序?

    使用 iOS14 用户可以将不同的电子邮件客户端应用程序设置为默认值 有没有办法以编程方式打开选定的默认邮件应用程序 Using mailto URL 将默认邮件应用程序设置为 Gmail 后 不执行任何操作 显然你必须添加mailto t
  • 禁用 eclipselink 缓存和查询缓存 - 不起作用?

    我正在使用 eclipselink JPA 和数据库 该数据库也在我的应用程序外部进行更新 因此 我想每隔几秒钟查询一些表 即使我尝试禁用缓存和查询缓存 我也无法使其工作 例如 EntityManagerFactory entityMana
  • Google Maps Api 直线(最短)路线

    我目前正在尝试找到一种使用 Google Maps Api V3 获得直线路线的方法 我已经设法使用地理编码和方向服务来获取从 A 点到 B 点的路线 包括两条替代路线 我还尝试过 禁止高速公路 和 禁止通行费 但似乎没有什么可以完全解决这
  • 无法使用命令行解释器

    我尝试在 php 解释器中执行简单的 php 代码 当我执行命令时php a我收到消息 启用交互模式 没有任何地方可以输入 php 但我可以通过命令执行php代码php r 例如 php r echo Hello stackoverflow
  • zclip 在 jquery ui 非活动选项卡中不起作用

    我在用zclip http www steamdev com zclip 在我的 asp net 网页上的 jQuery UI 选项卡中的 jQuery UI 对话框中 它在第一个处于活动状态的选项卡中效果很好 但当我将其添加到第二个选项卡
  • 如何从 Git 存储库中删除文件?

    我怎样才能删除 file1 txt 从我的存储库 Use git rm https git scm com docs git rm 如果您想从 Git 存储库中删除该文件和文件系统 use git rm file1 txt git comm
  • SQL 将一列的值分组到另一列

    SQL 中是否有某种 聚合 函数可以将值转换为列表 一个示例可能是以下形式的表格 game id player score 1 fred 2 1 tom 1 2 fred 3 2 tom 4 我想要返回的是一个如下所示的表 player s