【发布时间】:2020-10-20 09:37:06
【问题描述】:
CREATE TABLE sales (
id int auto_increment primary key,
time_stamp TIMESTAMP,
product VARCHAR(255),
sales_quantity INT
);
INSERT INTO sales
(time_stamp, product, sales_quantity)
VALUES
("2020-01-14 07:15:30", "Product_A", "100"),
("2020-01-14 07:15:30", "Product_B", "300"),
("2020-01-14 07:18:45", "Product_A", "200"),
("2020-01-14 07:18:45", "Product_B", "900"),
("2020-01-15 07:19:23", "Product_A", "400"),
("2020-01-15 07:19:23", "Product_B", "270"),
("2020-01-15 07:45:10", "Product_A", "900"),
("2020-01-15 07:45:10", "Product_B", "340");
预期结果:
time_stamp sales_quantity
2020-01-14 1.100
2020-01-15 1.240
正如您在表格中看到的,每天有多个TIMESTAMP。
现在,我想为每个TIMESTAMP 查询sales_quantity 的sum,但只有lates 的 应该包含。
因此,在示例中,TIMESTAMP 与 07:15:30 和 07:19:23 应被忽略。
我试着用这个查询:
SELECT
MAX(time_stamp),
SUM(sales_quantity) AS sales_quantity
FROM sales
GROUP BY 1;
但是,我收到错误 Can't group on 'MAX(time_stamp)'。
我需要如何修改查询以获得预期的结果?
【问题讨论】:
标签: mysql sql datetime sum subquery