SELECT a.first_field, min(a.second_field), X
FROM a
GROUP BY (a.first_field)
我希望 X 从 min(a.second_field)选择的行 a.third_field 我该怎么做?
详细说明:
min(a.second_field)从 a.first_field 分组的值(来自行)中检索一个最小值。 检索到的值必须来自一行吗?我希望查询还从 min function 选择的行返回另一个字段值。不仅是 min函数处理的字段的最小值。
答案 0 :(得分:2)
您应该使用ROW_NUMBER()
select first_field,second_field,third_field
from
(
SELECT a.*,
ROW_NUMBER()
OVER (PARTITION BY a.first_field
ORDER BY second_field)
as rn
FROM a
) b where b.rn=1;
答案 1 :(得分:0)
我想,你想从最小值为 second_field 的行中找到 third_value 。然后使用:
SELECT a.first_field, a.second_field, a.third_field
FROM a
WHERE a.third_field = MIN(a.third_field)
GROUP BY a.first_field
答案 2 :(得分:0)
尝试:
SELECT b.*, min(a.third_field) FROM (
SELECT a.first_field, min(a.second_field)
FROM a
GROUP BY (a.first_field) ) as b
INNER JOIN a
格式不正确,但它应该可以正常工作