我有一个看起来像这样的表:
| 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 |
答案 0 :(得分:0)
以下查询给了我解决方案:
jpegCallback
我不知道那么简单。