如何解决如何选择一个字段不同的单行? SQL服务器
const data = incDoc.data();
value = data[date_doc_to_update];
由于Ben由于拥有双专业而拥有来自同一所大学的两条记录(您可以看到同一所学校,毕业年份和学位),所以我只想提取其中一条记录,而不是两条记录,不管我选择哪一个专业,都必须是其中一个而不是两个记录。 所以理想情况下,我希望它像下面这样:
ID NAME SCHOOL GRADUATIONYEAR DEGREE MAJOR
--------------------------------------------------------------------------------------------------
100 Ben University1 2015 Bachelor of Arts Major1
100 Ben University1 2015 Bachelor of Arts Major2
100 Ben University2 2017 Master of Science Major3
我尝试执行以下删除操作,但这最终会删除所有记录,在这种情况下是否可以使用CASE?
ID NAME SCHOOL GRADUATIONYEAR DEGREE MAJOR
--------------------------------------------------------------------------------------------------
100 Ben University1 2015 Bachelor of Arts Major1
100 Ben University2 2017 Master of Science Major3
解决方法
使用row_number()
:
select *
from (
select
t.*,row_number() over(
partition by name,school,graduationyear,degree
order by major
) rn
from mytable t
) t
where rn = 1
当两行具有相同的目标,学校,毕业年份和学位时,查询将按字母顺序保留最小major
的行(您可以更改{{1的order by
子句}}(如果您需要其他条件)。
如果您想要row_number()
声明:
delete
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。