MySQL- sql语句基础

news2024/9/27 15:30:21

文章目录

    • 1.select后对表进行修改(delete)
    • 2.函数GROUP_CONCAT()
    • 3.使用正则表达式

1.select后对表进行修改(delete)

报错:You can’t specify target table ‘Person’ for update in FROM clause
原因:mysql不能在同一语句中先select出同一表中的某些值,然后对这个表做修改
错误写法

delete from Person 
where id not in(
  select min(id) id
  from Person 
  group by email 
)

解决方法:添加临时表

正确写法

delete from Person 
where id not in(
  select * from (
  select min(id) id
  from Person 
  group by email 
  ) t1
)

2.函数GROUP_CONCAT()

我们可以使用函数 GROUP_CONCAT() 将多行中的多个值组合成一个字符串。下面显示了 GROUP_CONCAT() 函数的语法:

GROUP_CONCAT(
    DISTINCT 字段 ----去重
    ORDER BY 字段 ----ASC/DESC
    SEPARATOR sep ---分隔符: SEPARATOR ','
);

用例

select 
  sell_date ,
  count(distinct product) num_sold ,
  group_concat(
    distinct product 
    separator ','
  ) products
from 
  Activities 
group by 
  sell_date 

在这里插入图片描述

3.使用正则表达式

思路
一般来说,如果你被要求匹配一个字符串,应该最先想到写一个正则表达式模式进行匹配。

正则表达式提供各种功能,以下是一些相关功能:

^:表示一个字符串或行的开头
[a-z]:表示一个字符范围,匹配从 a 到 z 的任何字符。
[0-9]:表示一个字符范围,匹配从 0 到 9 的任何字符。

[a-zA-Z]:这个变量匹配从 a 到 z 或 A 到 Z 的任何字符。请注意,你可以在方括号内指定的字符范围的数量没有限制,您可以添加想要匹配的其他字符或范围。
[^a-z]:这个变量匹配不在 a 到 z 范围内的任何字符。请注意,字符 ^ 用来否定字符范围,它在方括号内的含义与它的方括号外表示开始的含义不同。
[a-z]*:表示一个字符范围,匹配从 a 到 z 的任何字符 0 次或多次。
[a-z]+:表示一个字符范围,匹配从 a 到 z 的任何字符 1 次或多次。
.:匹配任意一个字符。
\.:表示句点字符。请注意,反斜杠用于转义句点字符,因为句点字符在正则表达式中具有特殊含义。还要注意,在许多语言中,你需要转义反斜杠本身,因此需要使用\.。
$:表示一个字符串或行的结尾。

例子

SELECT user_id, name, mail
FROM Users
-- 请注意,我们还转义了`@`字符,因为它在某些正则表达式中具有特殊意义
WHERE mail REGEXP '^[a-zA-Z][a-zA-Z0-9_.-]*\\@leetcode\\.com$';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/889551.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3自定义样式-路由-axios拦截器

基于vue,vite和elementPlus 基于elementPlus自定义样式 history模式的路由 在根目录配置jsconfig.json,添加json的配置项。输入自动联想到src目录,是根路径的别名拦截器 如果存在多个接口地址,可以配置多个axios实例 数据持久化之后&#x…

网络安全--linux下Nginx安装以及docker验证标签漏洞

目录 一、Nginx安装 二、docker验证标签漏洞 一、Nginx安装 1.首先创建Nginx的目录并进入: mkdir /soft && mkdir /soft/nginx/cd /soft/nginx/ 2.下载Nginx的安装包,可以通过FTP工具上传离线环境包,也可通过wget命令在线获取安装包…

服务监控平台:SpringBoot Admin入门应用

前言 在日常工作中,我们需要有一款监控平台来帮助我们管理服务,监控服务是否宕机、服务运行指标(内存、虚拟机、线程、请求等)、监控日志、管理服务(服务下线)等,SpringBoot Admin作为一款开源…

从0搭建ECG深度学习网络

本篇博客介绍使用Python语言的深度学习网络,从零搭建一个ECG深度学习网络。 任务 本次入门的任务是,筛选出MIT-BIH数据集中注释为[‘N’, ‘A’, ‘V’, ‘L’, ‘R’]的数据作为本次数据集,然后按照8:2的比例划分为训练集&…

【QT+ffmpeg】QT+ffmpeg 环境搭建

1.qt下载地址 download.qt.io/archive/ 2. win10sdk 下载 https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/ 安装 debug工具路径 qtcreater会自动识别 调试器选择

微服务-Fegin

在之前我们两服务之间调用的时候用的是restTemplate,但是这个方式调用存在很多的问题 String url "http://userservice/user/" order.getUserId(); 代码可读性差,编码体验不统一参数复杂的url难以维护 所以我们大力推出我们今天的主角--Fegin Feign是…

大数据时代下的GIS:数据驱动的地理智能

在当今信息时代,大数据技术的飞速发展正深刻影响着各个领域,地理信息系统(GIS)作为其中之一,也在大数据的浪潮下展现出了新的活力和潜力。 大数据为GIS注入了强大的数据能量 过去,地理信息数据的收集和存储…

B站一个月内涨粉57万,情景剧再迎黑马UP主

飞瓜数据(B站版)【达人排行榜】-【涨粉榜】显示,继上次的【成长榜】第三之后,UP主-显眼宝-在本周登上了涨粉榜第三的位置,单周涨粉就超过22万。 从UP主的粉丝趋势图来看,自7月起UP主账号就多次出现涨粉峰值…

Sealos 国内集群正式上线,可一键运行 LLama2 中文版大模型!

2023 年 7 月 19 日,MetaAI 宣布开源旗下的 LLama2 大模型,Meta 首席科学家、图灵奖得主 Yann LeCun 在推特上表示 Meta 此举可能将改变大模型行业的竞争格局。一夜之间,大模型格局再次发生巨变。 不同于 LLama,LLama2 免费可商用…

【仿写框架之仿写Tomact】三、使用socket监听配置文件中的端口接收HTTP请求并创建线程池处理请求

文章目录 1、自定义配置文件2、使用DOM解析XML文件3、创建Tomcat启动方法(解析配置文件、创建线程池、socket循环监听端口) 1、自定义配置文件 首先在main文件下创建资源目录resources: 在resource目录下创建server.xml文件,并写…

第二章-自动驾驶卡车-自动驾驶卡车前装量产的要求

1、自动驾驶卡车的特点与挑战 重卡主要运行在相对封闭的高速公路,相较城市道路场景看似更简单。但是,由于重卡特有的物理特性、运行环境和商业运营要求,相较于乘用车的自动驾驶系统,重卡的自动驾驶系统对车辆的感知距离和精度、系…

【操作系统】24王道考研笔记——第一章 计算机系统概述

第一章 计算机系统概述 一、操作系统基本概念 1.1 定义 1.2 特征 并发 (并行:指两个或多个事件在同一时刻同时发生) 共享 (并发性指计算机系统中同时存在中多个运行着的程序,共享性指系统中的资源可供内存中多个并…

Vue实现动态可视化

1、可视化效果&#xff1a; 水晶球环绕地球旋转&#xff1b; 2、实现 <template><div class"container"><div class"header-body"><div class"header-left"></div><div class"header-title">网…

删除了很久的备忘录怎么恢复?快速恢复误删备忘录的方法

习惯于经常使用手机来记录事情的网友&#xff0c;应该都对备忘录软件不陌生&#xff0c;因为我们可以直接在备忘录中记录心情日记、读书笔记、生活琐事以及其他重要的事情&#xff0c;这样就不用担心自己会忘记了。不过也有一些备忘录用户表示自己在整理无效备忘录时&#xff0…

gtsam使用-Pose2 SLAM

Pose2 SLAM Pose2 SLAM是一种昂进行同时定位与地图构建&#xff08;SLAM&#xff09;的一种简单方法是仅仅融合连续机器人姿态之间的相对姿态测量。这种不涉及地标的SLAM变体通常被称为 "Pose SLAM"。 %pip -q install gtbook # also installs latest gtsam pre-re…

安防监控视频汇聚平台EasyCVR视频平台调用iframe地址无法播放的问题解决方案

安防监控视频汇聚平台EasyCVR基于云边端一体化架构&#xff0c;具有强大的数据接入、处理及分发能力&#xff0c;可提供视频监控直播、云端录像、视频云存储、视频集中存储、视频存储磁盘阵列、录像检索与回看、智能告警、平台级联、云台控制、语音对讲、AI算法中台智能分析无缝…

Docker容器:docker基础概述、docker安装、docker网络

文章目录 一.docker容器概述1.什么是容器2. docker与虚拟机的区别2.1 docker虚拟化产品有哪些及其对比2.2 Docker与虚拟机的区别 3.Docker容器的使用场景4.Docker容器的优点5.Docker 的底层运行原理6.namespace的六项隔离7.Docker核心概念 二.Docker安装 及管理1.安装 Docker1.…

[C++] string类的介绍与构造的模拟实现,进来看吧,里面有空调

文章目录 1、string类的出现1.1 C语言中的字符串 2、标准库中的string类2.1 string类 3、string类的常见接口说明及模拟实现3.1 string的常见构造3.2 string的构造函数3.3 string的拷贝构造3.4 string的赋值构造 4、完整代码 1、string类的出现 1.1 C语言中的字符串 C语言中&…

【宝藏系列】嵌入式 C 语言代码优化技巧【超详细版】

【宝藏系列】嵌入式 C 语言代码优化技巧【超详细版】 文章目录 【宝藏系列】嵌入式 C 语言代码优化技巧【超详细版】前言整形数除法和取余数合并除法和取余数通过2的幂次进行除法和取余数取模的一种替代方法使用数组下标全局变量使用别名变量的生命周期分割变量类型局部变量指针…

Lnton羚通关于如何使用OpenCV-Python在直方图中查找显示分析

什么是直方图&#xff1f; 直方图是统计图像中像素亮度或颜色等分布的一种常用工具&#xff0c;几乎所有图像处理的工具都提供了这种工具&#xff0c;X轴表示 0~255&#xff08;刻度大小与Bin设置有关系&#xff09;&#xff0c;Y轴统计个数&#xff08;频率&#xff09;。 【…