在sql server中返回所有列时,如何根据两列或多列来区分数据库表中的行
我想根据同一表的两列或多列值来区分行,同时返回表中的所有列。 我有这张桌子 我希望我的结果显示为:仅基于类型和编号进行筛选。如上表所示,第一行和第二行的类型和编号相同,因此应在结果中予以抑制在sql server中返回所有列时,如何根据两列或多列来区分数据库表中的行,sql,sql-server,database,Sql,Sql Server,Database,我想根据同一表的两列或多列值来区分行,同时返回表中的所有列。 我有这张桌子 我希望我的结果显示为:仅基于类型和编号进行筛选。如上表所示,第一行和第二行的类型和编号相同,因此应在结果中予以抑制 txn item Discrip Category type Number Mode 60 2 Loyalty L 6174 XXXXXXX1390 0 60 4 Visa C 1600 XXXXXXXXXXX
txn item Discrip Category type Number Mode
60 2 Loyalty L 6174 XXXXXXX1390 0
60 4 Visa C 1600 XXXXXXXXXXXX4108 1
我已尝试使用子查询,但未成功。请建议尝试什么。
谢谢您可以使用
行号()做任何您想做的事。
:
您可以使用
行编号()
执行您想要的操作:
提到你的查询请注意你的查询请尝试这个兄弟。但不幸的是,它删除了所有类型和数字组合匹配的行。但不幸的是,它删除了所有类型和数字组合匹配的行。
select t.*
from (select t.*,
row_number() over (partition by type, number order by item) as seqnum
from t
) t
where seqnum = 1;