gpt4 book ai didi

php - 来自多个表的 MySQL 计数列。按主要 ID 对结果进行分组

转载 作者:行者123 更新时间:2023-11-29 03:47:57 25 4
gpt4 key购买 nike

我有以下 3 个 MySQL 表:

products

| id | name      | comment_count ||----|-----------|---------------|| 1  | Product A | 10            || 2  | Product B | 20            || 3  | Product C | 30            |

products_views

| product_id | pv_count | pv_date       || -----------|-------|------------|| 1          | 10    | 2015-01-01 || 1          | 10    | 2015-01-02 || 1          | 10    | 2015-01-03 || 2          | 20    | 2015-01-01 || 2          | 20    | 2015-01-02 || 2          | 20    | 2015-01-03 || 3          | 30    | 2015-01-01 || 3          | 30    | 2015-01-02 || 3          | 30    | 2015-01-03 |

products_likes

| product_id | pl_count | pl_date       || -----------|-------|------------|| 1          | 10    | 2015-01-01 || 1          | 10    | 2015-01-02 || 1          | 10    | 2015-01-03 || 2          | 20    | 2015-01-01 || 2          | 20    | 2015-01-02 || 2          | 20    | 2015-01-03 || 3          | 30    | 2015-01-01 || 3          | 30    | 2015-01-02 || 3          | 30    | 2015-01-03 |

我要加在一起products.comment_count + product_views.count + product_likes.countproducts.id 分组, 其中product_views.pv_dateproduct_likes.pl_date2015-01-01 之间和 2015-01-03 .通过 total 订购.

我想要的是:
| product_id | total || -----------|-------|| 3          | 210   || 2          | 140   || 1          | 70    |

最佳答案

试试这个查询

SELECT 
p.product_id,
(p.comment_count + SUM(pv.count) + SUM(pl.count)) AS total
FROM products p
JOIN products_views pv ON( p.product_id = pv.product_id)
JOIN products_likes pl ON( p.product_id = pl.product_id)
WHERE pl.date BETWEEN '2015-01-01' AND '2015-01-03'
AND pv.date BETWEEN '2015-01-01' AND '2015-01-03'
GROUP BY p.product_id
ORDER BY total DESC

关于php - 来自多个表的 MySQL 计数列。按主要 ID 对结果进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33077584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com