一道面试题:

有如下表和数组,把num值处于[20-29]之间改为20,num值处于[30-39]之间的改为30

num数有:3,12,15,25,23,27,37,35,32,47,58

mysql语句:

create table mian (

num int

);

insert into mian values (3),(12),(15),(25),(23),(27),(37),(35),(32),(47),(58);

updata mian set floor(num/10)*10 where num>=20 and num <=39;

练习题:

把good表中商品名‘诺基亚xxxx’的商品改为‘HTCxxxx’,

提示:大胆的把列看成变量,参与运算,甚至调用函数来处理

substring();concat;

练习题;

+--------+---------+-------+

| name   | subject | score |

+--------+---------+-------+

| 张三   | 数学    |    90 |

| 张三   | 语文    |    50 |

| 张三   | 地理    |    40 |

| 李四   | 语文    |    55 |

| 李四   | 政治    |    45 |

| 王五   | 政治    |    30 |

+--------+---------+-------+

求挂科大于等于2以上的平均分?

create table result(

name varchar(20) not null default '',

subject varchar(20) not null default '',

score varchar(20) not null default ''

);

insert into result values('张三','数学',90),('张三','数学',90),('张三','语文',50),

('张三','地理',40),('李四','语文',55),('李四','政治',45),('王五','政治',30);

正解:第一步:查询所有平均分

select name,avg(score) from result grounp by name;

第二步:计算出每个人挂科情况

select name,subject,score,score<60 as gks from result;

如上:挂科数目结果:

select name,subject,score,score<60 as gks from result group by name;

每个人的平均分及挂科数在晒选一下:

select name,avg(score),sum(score<60 )as gks from result group by name

having gks>=2;

第二种解法:

select name,count(1) from result where score<60;

select name,count(1) as gks from result

where score<60

group by name

having gks>=2;

把上面的结果集当成一张表

select name from(select name,count(1) as gks from result

where score<60

group by name

having gks>=2)

as tmp;

select name,avg(score) from result

where name in ('张三','李四')

group by name;

最终代码 这个列子用到了子查询,并且嵌套,麻烦

如果group,having用到熟悉,一条sql语句就能完成:

select name,avg(score) from result

where name in (select name from(select name,count(1) as gks from result

where score<60

group by name

having gks>=2)

as tmp)

group by name;

为什么建表时,加not null default '',default 0?

答:不想让表中出现null值

为什么不想要null值?

答:不好比较;

mysql枫叶_mysql总结相关推荐

  1. jspstudy启动mysql失败_MySql启动数据库设置初始密码

    这一小节介绍在Mac OS.Linux.Windows上启动关闭重启MySQL服务,以及部分图形化界面对服务的操控.安装完成后,可以使用 service 命令启动 mysql 服务,在Mac上serv ...

  2. 在线打mysql代码_mysql 在线alter table要留神_mysql

    mysql 在线alter table要小心 mysql 5.6之前, alter table操作对可用性有巨大的冲击(除了纯改表名.不影响任何数据的alter table).它的原理是, 0. al ...

  3. Warring the /usr/local/mysql/data directory is not owned by the 'mysql' or '_mysql' user

    /usr/local/mysql/data的宿主发生了改变 sudo chown -R mysql /usr/local/mysql/data 或者 sudo chown -R _mysql:whee ...

  4. mysql配置_Mysql配置 max_allowed_packet

    在使用Mysql过程中不知道小伙伴会不会遇到max_allowed_packet的问题.今天我给大家整理下关于Mysql max_allowed_packet的配置知识. 废话不多说,直接进入主题. ...

  5. centos mysql安装_mysql yum源安装

    部署服务器环境的时候经常要安装mysql,以下是常见的安装方式 源码安装 rpm包安装 yum源安装 这篇主要介绍yum源安装. yum源下载 进入 https://dev.mysql.com/dow ...

  6. visual MySQL 教程_MySql轻松入门系列——第二站 使用visual studio 对mysql进行源码级调试...

    一:背景 1. 讲故事 上一篇说了mysql的架构图,很多同学反馈说不过瘾,毕竟还是听我讲故事,那这篇就来说一说怎么利用visual studio 对 mysql进行源码级调试,毕竟源码面前,不谈隐私 ...

  7. .tar.gz mysql 安装_mysql tar.gz 版本 linux系统的安装-Go语言中文社区

    mysql下载地址: https://dev.mysql.com/downloads/mysql/ 1.  上传下载的tar.gz文件发送到linux 上传的路径: /usr/local/mysql/ ...

  8. ssh 登陆mysql数据库_mysql命令行客户端如何通过ssh服务器连接数据库啊?

    ssh到跳板机然后用 mysql 连接 利用ssh开启一个隧道 我这里的MySQL服务器是192.168.41.83, 我要在192.168.41.72连接 首先在192.168.41.72执行命令开 ...

  9. mysql 选项_mysql常用选项

    欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 binlog-format可以取值: STATEMENT (default),ROW,MIXED.必须有SUPER才可以更 ...

最新文章

  1. shell test命令
  2. 他给女朋友做了个树莓派复古相机,算法代码可自己编写,成本不到700元丨开源...
  3. python集合排序_排序算法集合
  4. 【博客】搭建个人博客边学边搭(一个晚上)
  5. w8系统搭建php网站,360W8系统下如何配置PHP网站运行环境
  6. 又一个“众所周知”的DAL层设计BUG
  7. mysql被跑死_MySQL 8.0.23中复制架构从节点自动故障转移
  8. Chronicle 已死,凶手是谷歌!
  9. js里写网页结构, 传函数参数
  10. mysql批量插入之提高插入效率
  11. 排序算法之十 希尔排序(C++版本)
  12. 柳氏管理学:自己不会,就要勤做笔记
  13. 2022年计算机二级C语言程序设计复习题及答案
  14. 基于功率分析的侧信道攻击简介
  15. 量子计算机与仿生论文,有关量子力学的论文
  16. 【python】80行代码实现压缩包密码破解软件,支持zip和rar
  17. 不会c语言能考408,考研408究竟有多难?
  18. linux微软雅黑字体库_一条命令搞定Linux字体渲染——Ubuntu系发行版微软雅黑+宋体终极解决方案...
  19. EBS系统打补丁(Patch)
  20. ROS naviagtion analysis: costmap_2d--Costmap2D

热门文章

  1. 百度地图API地理位置和坐标转换
  2. jquery的closest方法和parents方法的区别
  3. Mybatis最入门---代码自动生成(generatorConfig.xml配置)
  4. 实体类(VO,DO,DTO)的划分
  5. PHP垃圾回收深入理解
  6. ab apr_socket_recv: Connection reset by peer 错误解决
  7. Laravel添加验证场景提高针对性质的验证
  8. Git本地已有仓库进行连接Remote库 本地没有仓库进行本地新建仓库连接Remote库
  9. tp框架命名空间使用(namespace,use,as,\)
  10. 6个重构方法提升80%的代码质量