Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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 server 2008 选择多条相同记录的第一行_Sql Server 2008 - Fatal编程技术网

Sql server 2008 选择多条相同记录的第一行

Sql server 2008 选择多条相同记录的第一行,sql-server-2008,Sql Server 2008,我正在使用的查询有多个firstname,一个电子邮件地址的lastname。如何仅选择第一行而忽略其余行。 像 结果特蕾西·杜根td@test.com 我有多行相同的电子邮件地址。如何做到这一点 SELECT distinct f.email_address,TITLE,FIRST_NAME,LAST_NAME FROM #tempFinal F,temp htc where f.EMAIL_ADDRESS = htc.EMAIL_ADDRESS 按电子

我正在使用的查询有多个firstname,一个电子邮件地址的lastname。如何仅选择第一行而忽略其余行。 像

结果特蕾西·杜根td@test.com 我有多行相同的电子邮件地址。如何做到这一点

      SELECT distinct f.email_address,TITLE,FIRST_NAME,LAST_NAME FROM
      #tempFinal F,temp htc
      where f.EMAIL_ADDRESS = htc.EMAIL_ADDRESS 

电子邮件地址
对结果集进行分区,并使用
行编号
分配序列,然后进行筛选。使用
order by
子句调整顺序标准

select firstname, lastname, email_address from (
select firstname, lastname, email_address, row_number() over
(partition by email_address order by firstname, lastname) as ranker
from table ) Z where ranker = 1

请定义“第一”的含义,例如:第一个是id,第一个是姓氏等
select firstname, lastname, email_address from (
select firstname, lastname, email_address, row_number() over
(partition by email_address order by firstname, lastname) as ranker
from table ) Z where ranker = 1