SQL Server 选择多个值并基于单个比较返回值

j8yoct9x  于 2022-11-21  发布在  其他
关注(0)|答案(2)|浏览(137)

我必须编写一个查询,从一个表中选择多个值,并比较其中的两个值。应该使用较大的值。
例如:
| 标记名|数值|
| - -|- -|
| A1级|二十个|
| A2级|三十|
| A3-1型|十五|
| A3-2页|二十个|
我希望A3-2的结果表为:
| 标记名|数值|
| - -|- -|
| A1级|二十个|
| A2级|三十|
| A3页|二十个|
我该怎么做呢?不幸的是,我必须在SQL中进行比较
感谢您发送编修。

6ovsh4lw

6ovsh4lw1#

您可以将MAXLEFT函数结合使用:

select distinct LEFT(TagName, 2) as IDs, max(valuee) over (partition by (LEFT(TagName, 2)))
from tablee
order by IDs ASC

HERE是fiddle,但用于posgresql,但它也应该适用于您,如果不适用,至少可以使用此逻辑

mf98qq94

mf98qq942#

如果您提供了一个与数据在真实的生活中的外观相对应的示例,则可以尝试类似以下的操作:

select substring(TagName, 1, 2) as TagName, max(Value) as Value from table group by TagName

通过这种方式,您可以创建一个子字符串,其中将包括来自相似记录的所有值,比较它们并显示最大值。

相关问题