在查询中获取唯一结果

2021-09-10 00:00:00 sql tsql sql-server

我相信这对于 t-sql 大师来说会非常简单.

Im sure this will be pretty simple for a t-sql guru.

我从表格中得到以下结果

I have the following result from a table

idMain  IdSecondary  TextValue
1       1            text1
1       2            text2
2       5            text3
2       6            text5

我只想获得 idMain 的第一次出现.

And I want to obtain the first occurence of the idMain only.

结果应该是这样的.

idMain  idSecondary  TextValue
1       1            text1
2       5            text3

我怎样才能做到这一点?

How can I achieve this?

推荐答案

您应该能够加入子查询,如下例所示.这假设第一"是指最低的 idSecondary:

You should be able to join with a sub query, as in the following example. This assumes that by "first" you mean the lowest idSecondary:

SELECT t.idMain, sub_t.minSecondary, t.textValue
FROM   your_table t
JOIN   (SELECT   idMain, MIN(idSecondary) minSecondary
        FROM     your_table
        GROUP BY idMain) sub_t ON (sub_t.idMain = t.idMain);

相关文章