我尝试按名称获取每行的
last_modify_date
列的最大值。
我只得到一个结果。但我想得到这样的结果:
name | v | last_modify_date
---------------------------
example1 | 100 | 2024-01-03 12:00:00
example2 | 100 | ...
example3 | 100 | ...
查询:
CREATE TABLE MyTable (
name VARCHAR(50),
value INT,
last_modify_date DATETIME
);
INSERT INTO MyTable (name, value, last_modify_date) VALUES
('Example1', 100, '2024-01-01 12:00:00'),
('Example1', 100, '2024-01-02 12:00:00'),
('Example1', 100, '2024-01-03 12:00:00'),
('Example2', 100, '2024-01-02 12:00:00'),
('Example2', 100, '2024-01-02 18:00:00'),
('Example3', 100, '2024-01-02 12:00:00');
SELECT name, [value] as v, max(last_modify_date) FROM MyTable;
PS:如果可以不使用 group by,因为在我的原始查询中我选择了 30 列,并且我不想在 group by 中重复这些列。