【发布时间】:2020-11-01 03:46:47
【问题描述】:
我必须在另一列的一组行中显示一列第一行的列表
基本查询:
SELECT * FROM Table_Example cxp
我的桌子
|plan |code |des |month |
----+-------+-------+------+--------+
| 150B | Alpha | etc.a| 1 |
----+-------+-------+------+--------+
| 150B | Beta | etc.b| 2 |
----+-------+-------+------+--------+
| 2600C | Alpha | etc.a| 6 |
----+-------+-------+------+--------+
| 2600C | Alpha | etc.a| 7 |
----+-------+-------+------+--------+
| 2600C | Beta | etc.b| 3 |
----+-------+-------+------+--------+
| 2600C | Beta | etc.b| 7 |
----+-------+-------+------+--------+
| 2600C | Beta | etc.b| 9 |
----+-------+-------+------+--------+
| 2600C | Beta | etc.b| 2 |
----+-------+-------+------+--------+
| 2600C | Gama | etc.c| 4 |
----+-------+-------+------+--------+
| 2600C | Gama | etc.c| 12 |
----+-------+-------+------+--------+
| 2600C | Delta | etc.d| 22 |
----+-------+-------+------+--------+
| 42F | Alpha | etc.a| 15 |
预期结果
|plan |code |des |month |
----+-------+-------+------+--------+
| 2600C | Alpha | etc.a| 6 |
----+-------+-------+------+--------+
| 2600C | Beta | etc.b| 3 |
----+-------+-------+------+--------+
| 2600C | Gama | etc.g| 4 |
----+-------+-------+------+--------+
| 2600C | Delta | etc.d| 22 |
----+-------+-------+------+--------+
成绩单结果:具有变量“@plan”,仅显示与该值匹配的行(例如:如果“@plan”为 2600C)并且在该组行中,仅显示每个不同“代码”值的第一行
我想做什么
SELECT * FROM Table_Example cxp WHERE plan = '2600C'
|plan |code |des |month |
----+-------+-------+------+--------+
| 2600C | Alpha | etc.a| 6 |
----+-------+-------+------+--------+
| 2600C | Alpha | etc.a| 7 |
----+-------+-------+------+--------+
| 2600C | Beta | etc.b| 3 |
----+-------+-------+------+--------+
| 2600C | Beta | etc.b| 7 |
----+-------+-------+------+--------+
| 2600C | Beta | etc.b| 9 |
----+-------+-------+------+--------+
| 2600C | Beta | etc.b| 2 |
----+-------+-------+------+--------+
| 2600C | Gama | etc.c| 4 |
----+-------+-------+------+--------+
| 2600C | Gama | etc.c| 12 |
----+-------+-------+------+--------+
| 2600C | Delta | etc.d| 22 |
但我不能只得到每个不同“代码”的第一行 我在考虑一个子查询,但我尝试了很多,但我无法得到正确的结果 或者它只返回“代码”列而不返回其他列,例如:
|code |
+-------+
| Alpha |
+-------+
| Beta |
+-------+
| Gama |
+-------+
| Delta |
+-------+
【问题讨论】:
标签: sql sql-server