Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL中,如何仅获取每个组的第一个结果_Sql_Sql Server - Fatal编程技术网

在SQL中,如何仅获取每个组的第一个结果

在SQL中,如何仅获取每个组的第一个结果,sql,sql-server,Sql,Sql Server,我有一张如下所示的表: 布料 树枝 价格 A. 地下一层 19 A. 地下二层 17 A. 地下三层 17 B 地下一层 20 B 地下二层 22 B 地下三层 19 C B4 22 C C3 19 对于行号,这将是: select t.* from (select t.*, row_number() over (partition by material order by price desc) as seqnum from t ) t wher

我有一张如下所示的表:

布料 树枝 价格 A. 地下一层 19 A. 地下二层 17 A. 地下三层 17 B 地下一层 20 B 地下二层 22 B 地下三层 19 C B4 22 C C3 19
对于行号,这将是:

select t.*
from (select t.*,
             row_number() over (partition by material order by price desc) as seqnum
      from t
     ) t
where seqnum = 1;

谢谢你,这很有效@测试代码1。你可以接受答案。