0
的字符串长度的比较,我有一个表,看起来像这样:计数结果在GROUP BY查询基于列
| 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)
。例如,第三个消息长度超过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 |