我在postgresql中有一个表.下表"动物"将解释我的问题:
name
------
tiger
cat
dog
Run Code Online (Sandbox Code Playgroud)
现在我使用以下查询:
SELECT
array_to_string(array_agg("name"), ', ')
FROM
animals;
Run Code Online (Sandbox Code Playgroud)
结果是:"老虎,猫,狗".但我希望在将聚合转换为字符串之前对其进行排序.所以这是我希望的结果:
"cat, dog, tiger".
Run Code Online (Sandbox Code Playgroud)
那么如何在将postgresql 8.4转换为字符串之前对其进行排序.行"name"上的ORDER BY不起作用,内置排序函数仅处理整数值.
任何人都好主意,如何在纯SQL中解决这个问题?
理查德很多
我有下表:
cs_id ; cs_values ; cs_desc
---------------------------
1; 'a,b,c'; 'one'
2; 'd,a'; 'two'
3; 'a,c'; 'three'
Run Code Online (Sandbox Code Playgroud)
字段"cs_valies"包含不同的逗号分隔值.我想在"cs_values"中包含特定值的行上获取所有"cs_id".
我用过这个表达式:
SELECT
cs_id,
regexp_split_to_table(cs_values, '* , *') as splitted_value
WHERE
splitted_value = 'a'
Run Code Online (Sandbox Code Playgroud)
我有问题:
WHERE-clause中的别名.或者有谁知道如何实现这一目标?谢谢大家,我希望我不会遗漏一些非常明显的东西.