gpt4 book ai didi

mysql - 基于列字符串长度比较的查询分组结果计数

转载 作者:行者123 更新时间:2023-11-29 18:35:38 25 4
gpt4 key购买 nike

我有一个如下所示的表格:

| id | message                                                    | status |
|----|------------------------------------------------------------|--------|
| 1 | Lorem ipsum dolor sit amet | pass |
| 2 | Lorem ipsum dolor sit amet, consectetur | fail |
| 3 | Lorem ipsum dolor sit amet, consectetur adipisicing elit | fail |
| | Lorem ipsum dolor sit amet, consectetur adipisicing elit |

我希望能够选择具有分组依据状态的记录计数。当消息字符串长度超过某个数字时,我希望它对计数的贡献为 ceil(message_length/certain_number) 。例如,第3条消息长度超过70个字符。因此,它应该算作 2 而不是 1。

我该怎么办?

我尝试了以下查询,在消息字符串上使用 group_concat 但我知道这是一个错误的解决方案。

select ceil((char_length(group_concat(`message`)) - (count(`message`) - 1))/70) as count, `status` from `table` group by `status` 

- (count(message) - 1) 部分用于考虑 group_concat 函数引入的逗号。

查询的预期结果是:

| count | status |
|-------|--------|
| 1 | pass |
| 3 | fail |

最佳答案

下面的查询给了我解决方案:

select sum(count), status from (select ceil(char_length(message)/70) as count, status from table) as data group by status

我不知道事情这么简单。

关于mysql - 基于列字符串长度比较的查询分组结果计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45330877/

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