- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的查询:
select
s.id,
s.title,
string_agg(t1.title, ',') as a,
string_agg(t2.title, ',') as b,
string_agg(t3.title, ',') as c,
string_agg(t4.title, ',') as d
from show as s
left join tag as t1 on t1.show_id = s.id and t1.type='a'
left join tag as t2 on t2.show_id = s.id and t2.type='b'
left join tag as t3 on t3.show_id = s.id and t3.type='c'
left join tag as t4 on t4.show_id = s.id and t4.type='d'
group by
s.id,
s.title
having
t1.title = 'Something';
抛出错误:
ERROR: column "t1.title" must appear in the GROUP BY clause or be used in an aggregate function
根据这个手册页,我不明白的是 string_agg 是聚合函数:
http://www.postgresql.org/docs/9.4/static/functions-aggregate.html
我的数据:
show:
id: 1
title: 'test'
tag:
id: 1
show_id: 1
type: 'a'
title: 'title a'
tag:
id: 2
show_id: 1
type: 'b'
title: 'title a'
tag:
id: 3
show_id: 1
type: 'c'
title: 'title c'
tag:
id: 4
show_id: 1
type: 'd'
title: 'title d'
最佳答案
having 命令正在尝试搜索聚合字段。
要么按 s.title 搜索。或按 t1.title 分组。
有
s.title = '某物';
或者可以改变必须在 concat 字段上搜索。
有 string_agg(t1.title, ',') = '某物';
关于sql - 结合使用 string_agg 并在 postgres 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33040601/
我有以下查询: WITH cteCountryLanguageMapping AS ( SELECT * FROM ( VALUES ('Spain',
我尝试在条件生成器中创建一个函数,但执行时得到以下结果。 CriteriaBuilder builder = manager.getCriteriaBuilder(); CriteriaQue
我已下载并安装了 SQL Server 2016。当我尝试使用 STRING_AGG 函数时,收到此错误。这是我的代码: SELECT STRING_AGG(cast(FieldNumber AS V
我运行以下查询 string_agg(DISTINCT grades, '|'),它按 01|02|03|04|05|KG|PK 的顺序执行并输出我的结果。 如何以这种方式重新排列 PK|KG|01|
我想像这样限制 string_agg 结果:- SELECT string_agg(name, ',') FROM table_a WHERE 'condition' LIMIT 5 但是限制部分不起
我有一个查询,在某个时候有两个聚合: string_agg(requirements, '@') as req, string_agg(name, ',') as name 稍后在代码中,我拆分了聚合
我有以下选择 $repairs = DB::select(DB::raw(' select r.id repair_id, w.name, w.surname
我有关系数据库并且想使用 string_agg() 因为它似乎符合我的需要。 我想要: product_id | quiz_id -----------+---------- 1 |
我的 MSSQL 服务器中有一张表,我们称之为 blogPost .我还有两个标签表,让我们称它们为 fooTag和 barTag .标签表用于标记 blogPost结构相同的表。 blogPost
我在 Bigquery 中遇到了 STRING_AGG 问题。 我想: SELECT id, institution, COUNT(DISTINCT institution) OVER (PA
我的查询如下: select u.Id, STRING_AGG(sf.Naziv, ', ') as 'Ustrojstvena jedinica', ISNULL(CONVE
我有一个像这样的表#tmp: recid DefaultDimension DefaultDimensionName line_no 5637423499 Default
我在使用 STRING_AGG 并使用定界符内的表达式时遇到了一个非常奇怪的行为。结果是偏移的(即下一次迭代显示在分隔符所在的位置)。 我有一个包含社区名称的列,我试图将它们连接成一个字符串,以便稍后
我正在尝试按照他们登录的顺序生成一串名称。我有可用的代码,但它很丑陋,我确信我错过了一个更直接的方法。 目标,按照上次登录的顺序返回一串不同的用户名。 我先列出姓名和日期。 我为每个名字选择了最近的一
我用一个函数解决了这个问题,我喜欢我的解决方案,但我想知道是否有一种方法可以不使用函数来解决这个问题。事情是这样的: 有四个表与此相关: entities:系统的实体(租户) members:一个实体
如何对转换后的字段进行排序。有类似的问题,但是我不知道为什么它对我不起作用 -- 'number' 字段是一个整数 string_agg(distinct cast(number as varchar
我正在尝试运行此查询 SELECT u.*, string_agg(CAST(uar.roleid AS VARCHAR(100)), ',') AS roleids, string_agg(CAS
我有三个表。 Students student_id | name 1 Rhon Subjects subject_id | subject_name | student_id
下面的string_agg函数是否可以限制元素个数? string_agg(distinct(tag),', ') 最佳答案 还有两种方式。 1) 从行创建一个数组,限制它,然后连接成字符串: SE
我有一张 table : CREATE TABLE tblproducts ( productid integer, product character varying(20) ) 随着行数: INS
我是一名优秀的程序员,十分优秀!