sqlserver根据一列中最大的数查询另一列与最大值相对的数
时间: 2024-01-21 18:49:24 浏览: 67
您可以使用以下SQL查询语句来根据一列中最大的数查询另一列与最大值相对的数:
```
SELECT column_name
FROM table_name
WHERE other_column_name = (SELECT MAX(column_name) FROM table_name) - column_name;
```
请将上述代码中的 `column_name` 替换为您要查询的列名,将 `table_name` 替换为您要查询的表名,将 `other_column_name` 替换为另一列的列名。
这个查询语句的逻辑是先使用子查询找到最大值,然后将最大值与当前行的值作差,如果等于另一列的值,则符合查询条件。
相关问题
sqlserver根据一列中最大的字符串类型数查询另一列与最大值相对的字符串类型数
你可以使用以下 SQL 语句来实现:
```
SELECT column1, column2
FROM your_table
WHERE LEN(column1) = (
SELECT MAX(LEN(column1))
FROM your_table
)
AND column2 <> (
SELECT column2
FROM your_table
WHERE LEN(column1) = (
SELECT MAX(LEN(column1))
FROM your_table
)
)
```
其中,`your_table` 是你的表名,`column1` 和 `column2` 分别是你要查询的两列。这个 SQL 语句会先找出 `column1` 中最大的字符串类型数,然后使用 `LEN` 函数来判断每行的 `column1` 是否等于这个最大值。如果是,再判断 `column2` 是否与这个最大值对应的行的 `column2` 相等。如果不相等,则返回该行的 `column1` 和 `column2` 值。
sqlserver根据第一列中最大的字符串类型数查询第二列与最大值相对的字符串类型数最后返回第二列的值
您好,根据您的描述,我理解您的意思是从一个表中查询出第一列中最大的字符串类型数,然后再查询出与最大值相对的字符串类型数所对应的第二列的值,是这样吗?
如果是的话,可以使用以下 SQL 语句:
```
SELECT TOP 1 column1, column2
FROM table
ORDER BY LEN(column1) DESC
SELECT TOP 1 column2
FROM table
WHERE LEN(column1) = (SELECT MAX(LEN(column1)) FROM table) - LEN(@max_column1)
```
其中,`table` 是您要查询的表名,`column1` 和 `column2` 分别是第一列和第二列的列名。第一条 SQL 语句用于查询第一列中最大的字符串类型数以及对应的第二列的值,第二条 SQL 语句用于查询与最大值相对的字符串类型数所对应的第二列的值。请将 `@max_column1` 替换为第一条 SQL 语句查询出来的最大字符串类型数的长度与相对数的长度之差。
希望能对您有所帮助!