Mysql常见查询记录

1.连接查询条件添加额外条件

2.函数使用

1.连接查询条件添加额外条件

SELECT * FROM 表A LEFT JOIN (SELECT * FROM 表B WHERE 表B.month = 1) B ON 表A.id = B.kpi WHERE 条件1;

解读:这条语句先对表B进行了子查询,只选择了month = 1的行,然后再和表A做左连接,连接条件同样是表A.id = B.kpi。这意味着在计算连接前,表B已经被预处理,仅包含满足month = 1的记录。最后同样在连接后的结果集上应用了WHERE条件的条件1

2.函数使用

2.1 函数 substring_indexsubstring_index()

解读:

  • str: 这是要从中提取子串的原始字符串。
  • delimiter: 这是分隔字符串中的字符,比如逗号(',')、冒号(':')等。
  • count:
    • 如果 count 是正数,则返回到分隔符第 count 次出现前的所有字符。
    • 如果 count 是负数,则返回从分隔符第 count 次出现后(倒数计数)的所有字符。

示例用法:

通过调整count参数,你可以根据需要在字符串中灵活地定位和截取数据。

  1. 获取分隔符前的部分: 假设我们有一个IP地址列表存储在一个字段中,格式如 '192.168.0.1,192.168.0.2,192.168.0.3',要获取第一个IP地址:

    Sql
    SELECT SUBSTRING_INDEX('192.168.0.1,192.168.0.2,192.168.0.3', ',', 1);

    结果将是 '192.168.0.1'

  2. 获取分隔符后的部分: 要获取最后一个IP地址:

    Sql
    SELECT SUBSTRING_INDEX('192.168.0.1,192.168.0.2,192.168.0.3', ',', -1);

    结果将是 '192.168.0.3'

  3. 获取两个分隔符之间的部分: 若要获取第二个和第三个IP之间的部分(不包括它们自身),可以结合两次使用SUBSTRING_INDEX

    Sql
    SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('192.168.0.1,192.168.0.2,192.168.0.3', ',', 2), ',', -1);

    结果将是 '192.168.0.2'

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值