我正在尝试为表中的每个 DISTINCT 用户查找表中的第一个最小值以及它发生的日期。
这是表模式和一些示例数据:
CREATE TABLE diet_watch (
entry_date date NOT NULL,
user_id int default 1,
weight double precision NOT NULL
);
INSERT INTO diet_watch VALUES ('2001-01-01', 1, 128.2);
INSERT INTO diet_watch VALUES ('2001-01-02', 1, 121.0);
INSERT INTO diet_watch VALUES ('2001-01-03', 1, 122.3);
INSERT INTO diet_watch VALUES ('2001-01-04', 1, 303.7);
INSERT INTO diet_watch VALUES ('2001-01-05', 1, 121.0);
INSERT INTO diet_watch VALUES ('2001-01-01', 2, 121.0);
INSERT INTO diet_watch VALUES ('2001-01-06', 2, 128.0);
我想出的 SQL 在这个片段中
从那以后我被告知这是不正确的,也许有人可以解释我的 SQL 的问题是什么?
注意:如果可能,我更喜欢 ANSI SQL,但我使用的是 PostgreSQL,所以如果我必须使用特定风格的 SQL,它必须在 PG 上工作。