我有下表:

| Jon | "a" |
| Eva | "b" |
| Jon | "a" |
| Eva | "a" |
| Eva | "b" |

我想从第一列(名称)中获取唯一的值,该列按行数排序,其中(对于考虑的名称)第二列的值“a”除以包含考虑的名称的列数。
例如,对于Eva,带“a”的行数为1,带Eva的列总数为3。因此,排序的参数将等于0.33(3)。
有谁能帮我一下吗。

最佳答案

SELECT  name
FROM    mytable
GROUP BY
        name
ORDER BY
        SUM(letter = 'a') / COUNT(*)

10-04 21:35