使用SQL sever时,如何将上一列IIF函数的的结果,放入下一列进行循环计算
时间: 2024-06-03 07:11:36 浏览: 11
可以使用LAG函数来获取上一列的值,并在当前列中使用它进行计算。例如,如果想要将上一列的结果与当前列相加,可以使用以下代码:
SELECT
Column1,
LAG(IIF(Column1 > 10, 1, 0), 1, 0) OVER (ORDER BY Column1) AS PreviousResult,
IIF(Column1 > 10, 1, 0) + LAG(IIF(Column1 > 10, 1, 0), 1, 0) OVER (ORDER BY Column1) AS CurrentResult
FROM Table1;
在这个例子中,我们使用LAG函数获取上一列的IIF函数的结果,并将其命名为“PreviousResult”。然后,我们在当前列中使用该值进行计算,并将结果命名为“CurrentResult”。
相关问题
sql sever筛选出某一列的值不在一个集合的项
您可以使用 NOT IN 子句来筛选出某一列的值不在一个集合的项。具体语法如下:
```sql
SELECT column_name(s)
FROM table_name
WHERE column_name NOT IN (value1, value2, ...);
```
其中,column_name 代表您要筛选的列名,table_name 代表您要从哪个表中筛选数据,value1, value2, ... 则代表您要排除的值。例如,如果您要筛选出 students 表中不在 (1, 2, 3) 这个集合中的学生姓名,可以使用以下 SQL 语句:
```sql
SELECT name
FROM students
WHERE id NOT IN (1, 2, 3);
```
这样就能够查询出不在集合中的学生姓名了。
SQL sever如何一行多列求和
可以使用SQL的SUM函数,例如:
SELECT SUM(column1) + SUM(column2) + SUM(column3) AS total_sum FROM table_name;
这将针对table_name表中的column1、column2和column3列中的每个值求和,并返回总和作为total_sum。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)