MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

sql 经典语句(万能的case when),学会这招,秒变高手

2025-02-17 12:24 huorong 精选文章 2 ℃ 0 评论

一、case when经典使用方法详解,学会这招,复杂的条件统计,也如切瓜坎菜般容易

SELECT "地市", COUNT(*) AS "总栅格数", SUM(CASE WHEN "scrsrp_count" = 0 THEN 0 ELSE (CASE WHEN "scrsrp_lt110"/"scrsrp_count" >= 0.2 THEN 1 ELSE 0 END) END) AS "弱覆盖栅格数量" FROM "栅格级数据" GROUP BY "地市"

分解动作如下

  1. SELECT子句指定了要返回的列,其中包括"地市"、计算后的"总栅格数"和"弱覆盖栅格数量"。
  2. COUNT(*)函数用于计算每个地市的总栅格数。
  3. SUM(CASE WHEN ... END)部分是一个嵌套的CASE WHEN语句,用于计算弱覆盖栅格数量。
  4. 内部的CASE WHEN "scrsrp_count" = 0 THEN 0 ELSE (CASE WHEN "scrsrp_lt110"/"scrsrp_count" >= 0.2 THEN 1 ELSE 0 END) END用于判断是否为弱覆盖栅格(满足条件则返回1,不满足则返回0)。
  5. 外部的SUM()函数用于对每个地市的弱覆盖栅格进行求和。
  6. FROM子句指定了数据来源表为"栅格级数据"。
  7. GROUP BY子句按照"地市"列对数据进行分组。

结果将呈现每个地市的总栅格数和弱覆盖栅格数量。由于我无法访问您的实际数据,无法提供具体的结果。请将该查询应用到您的数据中以获取准确的结果。


二、其他常用基本SQL介绍


创建表:

1、CREATE TABLE 表名 (

列1 数据类型,

列2 数据类型,

...

);

2、插入数据:

INSERT INTO 表名 (列1, 列2, ...)

VALUES (值1, 值2, ...);

3、查询数据:

SELECT 列1, 列2, ...

FROM 表名

WHERE 条件;

4、更新数据:

5、UPDATE 表名

SET 列1 = 值1, 列2 = 值2, ...

WHERE 条件;

6、删除数据:

DELETE FROM 表名

WHERE 条件;

7、常用聚合函数:

SELECT COUNT(*) AS 记录数

FROM 表名;

SELECT SUM(列名) AS 总和

FROM 表名;

SELECT AVG(列名) AS 平均值

FROM 表名;

SELECT MAX(列名) AS 最大值

FROM 表名;

SELECT MIN(列名) AS 最小值

FROM 表名;


Tags:case when then end

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言