选择多个顶部1

Bla*_*ter 3 sql sql-server-ce

我有这个数据表:

   ID   |   Data   
--------+---------
    1   |   ONE
    2   |   ONE
    3   |   ONE
    5   |   TWO
    7   |   TWO
    10  |   TWO
    15  |   THREE
    14  |   THREE
    8   |   THREE

我希望得到这个结果

   ID   |   Data   
--------+---------
    1   |   ONE
    5   |   TWO
    15  |   THREE

所以我想只收集数据中每个值的第一条记录.值一,二,三可能存在于第二个表中,因此我可以使用join将它们合并.我怎样才能做到这一点?

Yet*_*ser 8

试试这个 -

Select Min(ID), Data
From YourTableAfterAllJoinsYouWant
Group By Data
Run Code Online (Sandbox Code Playgroud)

如果您的Data表中已有列Data,则无需加入.否则,您可以替换YourTableAfterAllJoinsYouWantwith join表.

  • @BlaBla你需要指定如何获得"正确"的行.你只给了2个字段,样本中的"正确"答案总是"MIN()" (2认同)