专栏首页八点半技术站「数据库」sql刷题(No.6)

「数据库」sql刷题(No.6)

简介:

Hello 各位 ,我是公号「八点半技术站」的创作者 - Bruce.D (姓氏:豆)。

感谢微信给予的个人认证,专注于PHP、数据库技术领域知识经验分享。

技术的交流、不仅仅限制于阅读,因此我特地创建了一个「红包激励机制」的 sql 刷题群,红包激励机制内容,我将以图片形式放在文章底部(欧力给)。

前四篇已有 90+ 的伙伴在评论区打卡留言,参与红包激励制的 sql刷题学习。

题目一:

小毛是一所中学的音乐老师,她有一张 seat 座位表,平时用来储存学生名字和与他们相对应的座位 id。其中纵列的 id 是连续递增的

问题来了,小毛想改变相邻俩学生的座位。欢迎大家用 SQL 帮助解答。

例如下图:

解答方法:

这里给大家提供 1 种解答方式 ,非常骚操作~~~(以下解答方式,已经过测试

第一种:

使用 CASE 和 MOD 的方式

  SELECT
      (CASE
          WHEN MOD(id, 2) != 0 AND counts != id THEN id + 1
          WHEN MOD(id, 2) != 0 AND counts = id THEN id
          ELSE id - 1
      END) AS id,
      student
  FROM
      seat,
      (SELECT
          COUNT(*) AS counts
      FROM
          seat) AS seat_counts
  ORDER BY id ASC;

注意:MOD(x,y)返回 x%y 的余数

思路:对于所有座位 id 是奇数的学生,修改其 id 为 id+1,如果最后一个座位 id 也是奇数,则最后一个座位 id 不修改。对于所有座位 id 是偶数的学生,修改其 id 为 id-1。

上述输出如下:

结尾总结:

这 1 道题类型评定:中等类型 。主要就是利用 CASE 与 MOD 方式去搜索找到.

大家一定要换种思路去思考哈,可以自己尝试练习玩玩~~~

本文分享自微信公众号 - 八点半技术站(gtcarry),作者:八点半技术站

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 「数据库」sql刷题(No.2)

    A市开了一家新的花店,吸引了很多的人过来看观看。该店长特别注意用户体验,专门有个 LED显示板做购花推荐,上面公布着花评和相关花的描述。

    八点半的Bruce、D
  • MySQL 经典30题,拿走不谢!!!

    这里将开始我们的 sql 之旅,在这里希望对 sql 能力稍弱的同学,有一定的帮助。 如果大家在以下 sql 学习中,发现更具有优化性的建议,可以留言给小编或者...

    八点半的Bruce、D
  • 「数据库」sql刷题(No.5)

    Hello 各位 ,我是公号「八点半技术站」的创作者 - Bruce.D (姓氏:豆)。

    八点半的Bruce、D
  • 面试题|无索引如何删除亿级数据?

    存在索引的情况下就比较简单,直接利用索引进行删除,写一个for 循环语句 每次删除500行,每次判断delete 影响的行数可以累加计算删除了多少行,直到删除结...

    用户1278550
  • 省市县,区的查询(通过区开始)(导出的接口实现)

    wfaceboss
  • 浅谈python中的多线程和多进程(二)

    前文《浅谈python中的多线程和多进程》中我们分享过一个例子,就是分别利用python中的多线程和多进程来解决高运算量的任务,从中看出二者的一些区别。其中一点...

    一只羊
  • Mybatis系列第7篇:各种查询详解

    Mybatis系列目标:从入门开始开始掌握一个高级开发所需要的Mybatis技能。

    路人甲Java
  • python中查看变量内存地址的方法

    本文实例讲述了python中查看变量内存地址的方法。分享给大家供大家参考。具体实现方法如下:

    py3study
  • Bypass 360主机卫士SQL注入防御(多姿势)

    在服务器客户端领域,曾经出现过一款360主机卫士,目前已停止更新和维护,官网都打不开了,但服务器中依然经常可以看到它的身影。从半年前的测试虚拟机里面,翻出了36...

    Bypass
  • pt-osc在线重建表导致死锁的分析及对应的优化方案

    在业务低峰通过pt-osc在线做DDL期间出现死锁,导致业务的SQL被回滚了,对应用不友好。 本案例死锁发生的场景:pt-osc拷贝最后一个chunk-siz...

    老叶茶馆

扫码关注云+社区

领取腾讯云代金券