【发布时间】:2021-06-02 18:03:42
【问题描述】:
我想检查最高金额的文档的颜色和城市是否为多个。如果是,我想设置一点为1,如果不是,它应该是0
样本数据:
Code doc year amount colour city
AB 123 2021 485 Red Paris
AB 123 2021 416 Red Paris
AB 123 2021 729 Red London
AB 123 2021 645 Red Bengaluru
预期输出: 我想要一行输出
Code Doc Year Amount Colour City Col_Mul City_Mul
AB 123 2021 729 Red London 0 1
数量、颜色和城市应该是最大值。
我尝试了什么: 为了获取一行中的数据,我使用了行号并按最大数量排序,并选择了行号为 1 的数据。但在那之后,我对颜色和城市列使用了密集排名。但我没有得到预期的输出。
【问题讨论】:
-
请向我们展示您尝试的实际查询。而且,如果您以 DDL+DML 的形式提供示例数据,那么人们可以更更轻松地为您提供帮助。
-
为什么不简单
GROUP BY? -
GROUP BY 语句通常与聚合函数(COUNT、MAX、MIN、SUM、AVG)一起使用,以按一列或多列对结果集进行分组。
-
如果您使用 MAX,您可能可以获得它们。不过我不太清楚你在做什么。
-
在预期的输出中,我应该只得到一行样本数据。我很容易得到直到城市专栏。我面临最后两列的问题。如果有多种颜色,col_Mul 列应该设置为 1,如果不是 0。这里我们只有一种颜色,所以它是 0。同样我们有 3 个不同的城市,表示有多个城市,因此应该是 1。
标签: sql sql-server tsql sql-server-2012