【发布时间】:2020-05-08 09:03:41
【问题描述】:
我想问如何选择数据和计数数据。
在这种情况下,我希望用户出现以及他拥有的交易数量。
喜欢我制作的这段代码。
SELECT "transaction"."user_id",
COUNT(transaction.id) trans_count
FROM transaction
inner join "users" on "users"."id" = "transaction"."user_id"
GROUP BY user_id
上面的代码成功选择了user_id和trans_count,但是当我试图显示users.name时
出现此错误消息。
查询错误:错误:列“users.name”必须出现在 GROUP BY 子句或用于聚合函数第 3 行:"users"."name"
是我统计数据时无法选择其他数据还是有更好的方法?
谢谢。
【问题讨论】:
-
当涉及多个表时,对所有列进行限定是一种很好的编程习惯,例如
"transaction"."user_id"。 -
您通常
GROUP BY与您SELECT相同的列,除了那些作为设置函数的参数的列。 -
我认为不需要 group by 来呼叫其他人。谢谢你很有帮助
标签: sql postgresql laravel-query-builder