case when 的使用

以此做解释

select t1.*,
case when x > x2 then x else  x2 end  x_max,
case when x < x2 then x else  x2 end  x_min,
case when y > y2 then y else  y2 end  y_max,
case when y < y2 then y else  y2 end  y_min
from `计算所有间隔点复件1_Ao9yaJo2` t1

解释

查询的是 计算所有间隔点复件1_Ao9yaJo2 数据表中的数据,并使用了 CASE WHEN 表达式进行数据计算和条件筛选,语句的具体作用如下:

  1. SELECT t1.*:查询 计算所有间隔点复件1_Ao9yaJo2 表中的所有列。

  2. CASE WHEN x > x2 THEN x ELSE x2 END x_max:对于每行数据,判断该行中 x 列的值是否大于 x2 列的值,如果大于,则返回 x 列的值,否则返回 `` 列的值,将返回的结果命名为 x_max

  3. CASE WHEN x < x2 THEN x ELSE x2 END x_min:对于每行数据,判断该行中 x 列的值是否小于 x2 列的值,如果小于,则返回 x 列的值,否则返回 x2 列的值,将返回的结果命名为 x_min

  4. CASE WHEN y > y2 THEN y ELSE y2 END y_max:对于每行数据,判断该行中 y 列的值是否大于 y2 列的值,如果大于,则返回 y 列的值,否则返回 y2 列的值,将返回的结果命名为 y_max

  5. CASE WHEN y y2 THEN y ELSE y2 END y_min:对于每行数据,判断该行中 y 列值是否小于 y2 列的值,如果小于,则返回 y 列的值,否则返回 y2 列的值,将返回的结果命名为 y_min

综上所述,这条 SQL 查询语句的作用是查询表中所有的数据,并根据 xy 的值与 x2y2 的值进行比较,返回符合条件的最大值和最小值,将结果分别命名为 x_maxx_miny_maxy_min

猜你喜欢

转载自blog.csdn.net/qq_52128187/article/details/131209336