如何通过表T的Y列按每组第一行的X列值进行非组?

时间:2009-11-17 23:11:47

标签: sql oracle

我有一个带有X,Y和Z列的表T.我需要在SQL中检索每组第一行的第X列的非组,按列Y值,以及SQL中的列Z值的MIN单一查询。

请你帮帮我。

1 个答案:

答案 0 :(得分:2)

我假设你有一个x_dt列可以用来确定Y组的第一行。

SELECT
  x,
  y,
  z
FROM (SELECT
  x,
  y,
  MIN(z) OVER (PARTITION BY y) AS z,
  ROW_NUMBER() OVER (PARTITION BY y ORDER BY x_dt) AS rn
FROM T) T2
WHERE rn = 1;