gpt4 book ai didi

MYSQL 查询总和

转载 作者:行者123 更新时间:2023-11-29 09:48:18 26 4
gpt4 key购买 nike

我正在编写一个 php 工具,从我的查询中我得到以下输出

| dst        | count(*) |
| 0280302002 | 31 |
| 0280304115 | 83 |
| 0280304121 | 80 |
| 0280304124 | 10 |
| 0280304136 | 1 |
| 2002 | 3 |
| 4115 | 12 |
| 4121 | 10 |
| 4124 | 2 |

我需要的只是 10 位数字的输出。

Ex:- 31( 0280302002 的值 + 3( 2002 的值 ) = 输出应该是 0280302002 =34

有什么办法可以得到这个值吗?

我的查询

select dst,count(*) from cdr where calldate between '2019-01-01 00:00:00' and '2019-01-31 23:59:59' and dst in ('4121', '2006','2011''4124','0280304121', '0280302006','0280302011','0280304124') and length(src)>4 group by dst order by dst;

最佳答案

您可以尝试使用 case when 表达式和 concat() 函数

select case when length(dst)=4 then concat('028030',dst) else dst end as dst,count(*) 
from cdr
where calldate between '2019-01-01 00:00:00' and '2019-01-31 23:59:59' and
dst in ('4121', '2006','2011''4124','0280304121', '0280302006','0280302011','0280304124') and length(src)>4
group by case when length(dst)=4 then concat('028030',dst) else dst end
order by dst

关于MYSQL 查询总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55276488/

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