【发布时间】:2015-06-15 14:44:58
【问题描述】:
以下是数据示例:
ID Value NumPeriod
------------------------
1681642 596.8 2
1681642 596.8 3
1681663 445.4 2
1681663 445.4 3
1681688 461.9 3
1681707 282.2 3
1681724 407.1 3
1681743 467 2
1681743 467 3
1681767 502 3
我想按 [ID] 分组,只取每个组中 [Value] 的不同值,并根据 [NumPeriod] 取“第一个”不同的 [Value]。所以结果看起来是这样的:
ID Value NumPeriod
-------------------------
1681642 596.8 2
1681663 445.4 2
1681688 461.9 3
1681707 282.2 3
1681724 407.1 3
1681743 467 2
1681767 502 3
所以我虽然这样的事情会起作用,但没有运气:
select
ID, distinct(Value), NumPeriod
from
MyTable
group by
ID, Value, NumPeriod
order by
ID, NumPeriod
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
distinct不是函数。它是一个“形容词”,主要修饰SELECT和COUNT()。摒弃将其当作函数使用的想法。
标签: sql sql-server group-by distinct sql-server-2014