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

Mysql 基于列的字符串长度比较的分组查询中的结果计数,mysql,Mysql,我有一张这样的桌子: | id | message | status | |----|------------------------------------------------------------|--------| | 1 | Lorem ipsum dolor sit amet | pass | | 2 | L

我有一张这样的桌子:

| 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   |
我希望能够选择状态为group by的记录计数。当消息字符串长度大于某个数字时,我希望它对计数的贡献是
ceil(消息长度/某个数字)
。例如,第三条消息长度超过70个字符。因此,它应该被计算为2,而不仅仅是1

我该怎么做呢

我尝试了下面的查询,其中我在消息字符串上使用了
group\u concat
,但我知道这是一个错误的解决方案

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

>代码> -(计数(消息)- 1)< /C>部分用于考虑由<代码> GROPY-CONTAT < /C>函数>的逗号。< / P> 查询的预期结果为:

| 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
我不知道有那么简单