我有一个具有以下架构的表:
+---------+-------------+-----------+---------+
| id | provider | status | message |
+---------------------------------------------+
| 1 | Google | success | ... |
| 2 | Facebook | failure | ... |
| 3 | Facebook | failure | ... |
| 4 | Google | failure | ... |
+---------------------------------------------+
例如,我需要知道failure
的百分比:
google-> 50%失败
Facebook-> 100%失败
我使用mysql 5.7
我试图使用group by到达此目的地,但我不能
答案 0 :(得分:2)
您可以进行条件聚合。我喜欢用find /Users/ehsansarshar/Desktop/mongo-backups -type d -mmin -10 -exec rm -rf {} +
:
avg()
对于每个select provider, avg(status = 'failure') failure_ratio
from mytable
group by provider
,这将为您提供介于provider
和0
之间的数值,该数值表示1
'failure'
中记录的比率。如果您想要一个百分比,则可以乘以status
。