【问题标题】:How to use postgres function string_agg() in yii2 ActiveDataProvider?如何在 yii2 ActiveDataProvider 中使用 postgres 函数 string_agg()?
【发布时间】:2016-08-11 10:55:27
【问题描述】:

我已经在模型中尝试了以下内容。

$query = Students::find()->select("string_agg(distinct name,'|') "); 

当我这样使用时,我得到了错误:

SQLSTATE[42601]:语法错误:7 错误:“FROM”处或附近的语法错误 LINE 1: SELECT string_agg(distinct name, "'|')" FROM "students..^The 正在执行的 SQL 是:SELECT string_agg(distinct name, "'|')" FROM “学生” LIMIT 20

我也尝试了同样的转义字符,那个时候它也显示了同样的错误。我如何在 yii2 中使用它?

【问题讨论】:

    标签: php postgresql yii2 aggregate-functions


    【解决方案1】:

    试试这样:

    Students::find()->select(["string_agg(distinct name,'|')"])->column()
    

    【讨论】:

    • 如何像这样使用多列
    • 您已经在聚合名称列,您希望在分组查询结果中看到哪些其他列,这似乎是不可能的。
    • 你会通过这个查询得到所有不同的名字,所以我还是回答了你的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多