【问题标题】:Return the SUM of column in JOIN query返回 JOIN 查询中列的 SUM
【发布时间】:2016-04-05 10:46:30
【问题描述】:

我有一个包含多个联接的查询,我想从 JOIN 评论 结果中返回一列的总和...有什么想法吗?

SELECT *,user.id AS u_id
FROM user_connects
    JOIN user ON user_connects.user_y = user.id
    JOIN reviews ON user_connects.user_y = reviews.user
 WHERE user_connects.user_x = 1
 LIMIT 25

我想返回类似这样的内容,其中 [1] 索引 totalcolumls 是评论表的 SUM 结果:

array(1) {
  [0]=>
  object(stdClass)#26 (12) {
    ["id"]=>
    string(1) "2"
    ["user_x"]=>
    string(1) "1"
    ["user_y"]=>
    string(1) "2"
    ["date_created"]=>
    string(10) "1457593440"
    ["first_name"]=>
    string(6) "Donald"
    ["last_name"]=>
    string(5) "Trump"
    ["age"]=>
    string(2) "68"
    ["gender"]=>
    string(4) "Male"
    ["img_url"]=>
    string(10) "donald.jpg"
    ["keto_score"]=>
    string(1) "5"
    ["date_created_dt"]=>
    string(19) "2016-03-09 07:00:00"
    ["u_id"]=>
    string(1) "2"
  },
  [1]=>
  object(stdClass)#26 (12) {
    ["totalcolumls"]=>
    string(1) "2"
   }
}

【问题讨论】:

  • 限制,但没有订单... 你确定吗?
  • 我认为样本数据和期望的结果将有助于解释您想要做什么。
  • 查看GROUP BY,结合SUM()
  • 任何与上述相关的 GROUP BY 示例
  • 漂亮的虚拟数据:)

标签: mysql sql


【解决方案1】:

你可以这样试试

SELECT count(reviews.*) AS total_review_column, user_connects.*, reviews.*, user.*, user.id AS u_id
FROM user_connects
    JOIN user ON user_connects.user_y = user.id
    JOIN reviews ON user_connects.user_y = reviews.user
 WHERE user_connects.user_x = 1
 group by reviews.user

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多