簡體   English   中英

如何在 knex 中使用 group by 編寫此 SQL 查詢?

[英]how to write this SQL query with group by in knex?

如何編寫這個查詢? SELECT referral_code, count(*) FROM users GROUP BY users.referral_code HAVING count(*) > 1

我今天花了太多時間在它上面沒有任何成功總是得到:

Error: error: select "referral_code", count(*) as "cnt" from "users" group by "users"."referral_code" having "cnt" > $1 - column "cnt" does not exist

一定有辦法嗎?

您不能在此查詢的 HAVING 子句中使用別名“cnt”:

select "referral_code", count(*) as "cnt" from "users" group by "users"."referral_code" having "cnt" > $1

因為在 SQL 引擎處理 HAVING 子句時沒有創建“cnt”別名,有關詳細信息,請閱讀此

你想使用 Knex 還是 SQL 語句? 在 Knex 你應該使用

knex('users')
.groupBy('referral_code')     
.having('count', '>', 1)

但是在 sql 中,您必須使用字段名稱。 cnt 應該被刪除

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM