【问题标题】:MySQL SELECT GROUP_CONCAT AND SUMMySQL SELECT GROUP_CONCAT AND SUM
【发布时间】:2018-07-20 00:29:57
【问题描述】:

我有以下表格

应用表

--------------------------------
id | appointment_id | service_id
--------------------------------
1 | 258 | 4
2 | 258 | 5
--------------------------------

服务表

--------------------------------
id | price
--------------------------------
4 | 10
5 | 20
--------------------------------

我想做的是从apps表中选择所有属于appation_id 258的service_id,并从services表中获取所有服务的SUM价格。

我已经看到使用 GROUP_CONCAT 我可以将 service_id 作为逗号分隔值,但使用子查询或内部连接可能会更好?

【问题讨论】:

  • 请包括您的查询尝试。
  • 到目前为止我只这样做了:SELECT GROUP_CONCAT(service_id) as servlist FROM apps WHEREointment_id = '258'
  • 你能告诉我们你的确切预期输出吗?
  • 我只想得到总价格/总和,所以它应该是:“30”
  • 继续。尝试一下。

标签: mysql join sum


【解决方案1】:

这是你想要的吗?

SELECT
    SUM(s.price) AS total_price,
    GROUP_CONCAT(s.id) AS service_ids
FROM services s
INNER JOIN apps a
    ON s.id = a.service_id
WHERE
    a.appointment_id = 258;

在没有GROUP BY 的情况下使用GROUP_CONCAT 有点不寻常,但也许这是您的要求。

【讨论】:

    猜你喜欢
    • 2015-05-26
    • 2012-12-08
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 2017-03-08
    • 1970-01-01
    相关资源
    最近更新 更多