需要帮助搞清楚MySQL查询是否计算一定数量

时间:2012-12-30 05:02:30

标签: php mysql sql count

我有一个像这样的表格设置:

fruit1 | fruit2 | fruit3 | fruit4 | number1 | number2 | number3 | number4
--------------------------------------------------------------------------
apple  | orange | banana |  berry |    5    |    2    |    1    |    4   
orange | banana | apple  |  berry |    3    |    2    |    5    |    2
berry  | banana | orange |  apple |    1    |    2    |    5    |    2

我需要一个MySQL查询来计算给定水果数为5的次数。在这个例子中,apple为5次,橙色为5次。那有意义吗? fruit1的数字是number1,fruit2的数字是number2等...

我可以用一些PHP代码做到这一点,但我知道这是一个非常简单的MySQL查询。我只是把查询放在一起最困难。

提前致谢!

1 个答案:

答案 0 :(得分:1)

SELECT fruit, COUNT(*) NumberOfInstance
FROM
(
    SELECT fruit1 fruit, number1 num FROM table1
    UNION ALL
    SELECT fruit2 fruit, number2 num FROM table1
    UNION ALL
    SELECT fruit3 fruit, number3 num FROM table1
    UNION ALL
    SELECT fruit4 fruit, number4 num FROM table1
) s
WHERE num = 5
GROUP BY fruit