我试图根据另一列的最大值和第三列的特定id返回一列的值,所有这些都在同一个表中。
我尝试执行以下sql,但它不起作用:
SELECT "value"
FROM event_log
JOIN (SELECT MAX("time") AS max_time
FROM event_log WHERE "eid" = 6)
我想要的唯一价值是"价值"列基于同一个表的其他列的最大值和特定ID号。
有什么建议吗?
答案 0 :(得分:1)
您需要指定ON
操作的JOIN
子句:
SELECT "value"
FROM event_log AS t1
JOIN (
SELECT MAX("time") AS max_time
FROM event_log
WHERE "eid" = 6
) AS t2 ON t1."time" = t2.max_time
WHERE t1."eid" = 6
答案 1 :(得分:0)
SELECT "value"
FROM event_log AS t1
JOIN (
SELECT MAX("time") AS max_time, eid
FROM event_log
WHERE "eid" = 6
Group By eid
) AS t2 ON t1."time" = t2.max_tim
AND t1.eid = t2.eid
答案 2 :(得分:0)
Full Join
来明确指定,如果& #39; s你想要什么),你需要为连接指定连接条件,而不需要。 value
的列。但是该子查询中没有名为value
的列。 value
表中的列event_log
是但我认为你根本不需要加入。试试这个:
SELECT "value",
(Select MAX("time")
FROM event_log WHERE "eid" = 6) maxTime
FROM event_log l