MYSQL按发生顺序计数两列中的值

时间:2014-08-14 21:24:23

标签: mysql sql

我试图实现这篇文章中的想法,以便按每对的出现来命令我的输出 -

MySQL: Count occurrences of distinct values

我需要的是能够考虑两个不同的列,而不仅仅是“名称”。那么订购下表输出的最有效方法是什么 -

id         name        food
-----      ------      ------
1          Mark        apple
2          Mike        pear
3          Paul        apple
4          Mike        pear
5          Mike        banana
6          John        apple
7          Mark        pear

预期的顺序应为:

name      food      count
-----     ------    -----
Mike      pear      2
Mike      banana    1
Mark      apple     1
Mark      pear      1
Paul      apple     1
John      apple     1

1 个答案:

答案 0 :(得分:3)

如果您想在这些列中计算相同的组合,您必须按两列分组:

SELECT name, food, COUNT(*) count
FROM yourtable
GROUP BY name, food
ORDER BY COUNT(*) DESC