gpt4 book ai didi

MySQL LIKE 使用 % 符号形式连接

转载 作者:太空宇宙 更新时间:2023-11-03 11:37:36 25 4
gpt4 key购买 nike

我有 2 个简单的表:

表a:

+====+======+
| ID | Name |
+====+======+
| 1 | Alex |
| 2 | Steve|
+===========+

表 b:

+======+======+
| ID_B |Number|
+======+======+
| 1-20 | 20 |
| 1-21 | 40 |
+=============+

我想使用这个语法:

SELECT `Name`,sum(`Number`) From `a` Join `b` ON `a`.`ID` LIKE `b`.`ID_B`+'%'

我对Mysql不是很了解,我是新手。我想将表a连接到表b,并且在表b中Number会自动计算所有WHERE ID表a> 与 b .ID_B %

相同

最后我的回答是“Alex have 60 Number”

最佳答案

你需要:

  • 交换 like 运算符中 a.idbid_b 的位置(两个值中较长的应该在左边所以它的剩余部分匹配右边的通配符)

  • a.id 转换为字符串并将其连接到 %,您可以使用 concat 完成此操作。即使您有引用,+ 运算符也不会在 MySql 中连接字符串

  • 最好添加一个group by

看起来像这样:

select   name, sum(number) 
from a
join b
on b.b_id like concat(a.id, '%')
group by name

根据您的情况,您可能希望在 % 之前添加连字符:

      on b.b_id like concat(a.id, '-%') 

关于MySQL LIKE 使用 % 符号形式连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44470535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com