同时用多个 string_agg 汇总语法

temple_new temple_new 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

我有四个字段: 会员卡, 日期, 大分类, 次分类

大分类:贝类

次分类:蚬, 文蛤

我想统计出每个会员在哪天买了哪些商品

 

语法:

select cardno,date, string_agg(item, ',') within group (order by item) item,

string_agg(item1, ',') within group (order by item1) item1

from Q1 

group by cardno, date

order by cardno;

 

执行后出现错误讯息:相同范围中的多个排序聚合函数具有彼此不兼容的排序。

 

该如何调整代码?

...全文

相关推荐

SQL多行数据合并到一行方法[代码]

本文介绍了在SQL中将多行数据合并到一行中的常用方法,即行转列或透视操作。针对不同数据库系统,提供了具体函数:MySQL使用GROUP_CONCAT(),PostgreSQL使用STRING_AGG(),SQL Server通过FOR XML PATH()实现,Oracle使用LISTAGG(),SQLite也支持GROUP_CONCAT()。这些方法通常需要GROUP BY子句指定分组列,并可通过分隔符自定义合并格式。文章还提醒,处理大量数据时可能因字符串操作导致性能问题,建议根据实际数据库系统选择合适方法。

milk5

PgSQL聚合函数string_agg[源码]

本文介绍了PostgreSQL中的聚合函数string_agg的用法,该函数用于将分组后的多个字段值拼接成一个字符串。通过创建示例表user_info_test,演示了如何根据name字段分组并拼接hobby字段,包括基本用法、去重(distinct)和排序(order by)功能。同时,文章还对比了MySQL中的类似函数group_concat,展示了其在MySQL中的等效用法。string_agg和group_concat都能有效解决分组后多值拼接的需求,避免了在代码中处理这类问题的复杂性。

甜甜圈HTTP

SQLServer中如何将一个字段的多个记录值合在一行显示

SQLServer中如何将一个字段的多个记录值合在一行显示

zhyl230

给SQL2008R2中加个自定义函数,解决无STRING-AGG()可用的问题

给SQL2008R2中加个自定义函数,解决无STRING-AGG()可用的问题

xiaocainiao999

有关pgsql高级函数汇总

高级函数汇总

KunQian_smile
评论 3
收藏 已收藏
分享
返回顶部
temple_new
MS-SQL Server 34,876 成员 254,635 内容