首页 > 数据库技术 > 详细

01-MySQL-语法

时间:2019-09-29 15:32:59      阅读:103      评论:0      收藏:0      [点我收藏+]

这是来源于其他人的博客:地址忘了

 

一:简单用法:

  1.第一种写法:

技术分享图片
SELECT
    s.s_id,
    s.s_name,
    s.s_sex,
    CASE
WHEN s.s_sex = 1THEN WHEN s.s_sex = 2THEN ELSE 其他END as sex,
 s.s_age,
 s.class_id
FROM
    t_b_student s
WHERE
    1 = 1
技术分享图片

  2.第二种写法

技术分享图片
SELECT
    s.s_id,
    s.s_name,
    s.s_sex,
    CASE s.s_sex
WHEN 1THEN WHEN 2THEN ELSE 其他END as sex,
 s.s_age,
 s.class_id
FROM
    t_b_student s
WHERE
    1 = 1
技术分享图片

两个运行结果一样:

  有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略

技术分享图片

二:分组

表数据:

t_b_population 

技术分享图片

sql语句:

技术分享图片
SELECT country,
    SUM(CASE WHEN p.sex = 1THEN p.population ELSE 0 END) AS ,
    SUM(CASE WHEN p.sex = 2THEN p.population ELSE 0 END) AS FROM
    t_b_population p
GROUP BY country;
技术分享图片

 运行结果:

技术分享图片

表数据:

t_b_country 

技术分享图片

sql语句:

技术分享图片
SELECT
    SUM(c.population) AS 人口,
    CASE c.country
        WHEN 中国THEN 亚洲WHEN 印度THEN 亚洲WHEN 日本THEN 亚洲WHEN 美国THEN 北美洲WHEN 加拿大THEN 北美洲WHEN 墨西哥THEN 北美洲ELSE 其他END AS FROM
    t_b_country c
GROUP BY CASE c.country
        WHEN 中国THEN 亚洲WHEN 印度THEN 亚洲WHEN 日本THEN 亚洲WHEN 美国THEN 北美洲WHEN 加拿大THEN 北美洲WHEN 墨西哥THEN 北美洲ELSE 其他END;
技术分享图片

运行结果:

技术分享图片

 

01-MySQL-语法

原文:https://www.cnblogs.com/xxrsdax/p/11607953.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!