我有一个问题,当在 product_view 表上获取查询结果时,我还想获取与查询结果相关的每个月的产品月总数(来自 product_month 列)。
例如
如果我做了这样的查询:
SELECT * FROM product_view
WHERE product_price BETWEEN 945 AND 980;
product_view 表的数据如下:
INSERT INTO product_view
(`product_id`, `product_month`, `product_price`)
VALUES
(4, 'DEC', 999),
(4, 'FEB', 905),
(4, 'JAN', 905),
(8, 'DEC', 1049),
(8, 'FEB', 955),
(8, 'JAN', 955),
(8, 'DEC', 1049),
(8, 'FEB', 955),
(8, 'JAN', 955),
(22, 'APR', 925),
(22, 'AUG', 969),
(22, 'JUL', 969),
(22, 'JUN', 945),
(22, 'MAR', 925),
(22, 'MAY', 925),
(22, 'OCT', 915),
(22, 'SEP', 945),
(27, 'APR', 1435),
(27, 'JUN', 1459),
(27, 'MAY', 1435),
(27, 'OCT', 1459),
(27, 'SEP', 1459),
(31, 'APR', 3029),
(31, 'AUG', 3029),
(31, 'FEB', 3029);
我不仅希望语句给我查询结果,还希望返回结果中每个月的总计数()。即使用上面的查询-FEB = 2,JUN = 1 等...
最终结果 - 重复 count() 结果
PRODUCT_ID PRODUCT_MONTH PRODUCT_PRICE Month_count
8 FEB 955 2
8 JAN 955 2
8 FEB 955 2
8 JAN 955 2
22 AUG 969 1
22 JUL 969 1
22 JUN 945 1
22 SEP 945 1
请有人建议我从结果中获取 count() 的最佳方法,还有一种更好的方法来显示这些多个计数,而不会在查询结果集中的每一行上重复它的结果。即变量或临时表(尽管使用临时表有许多用户同时执行此查询,因此每个用户获得准确结果会存在问题,因为上述查询的 product_price BETWEEN 值可以由用户更改)
谢谢