0

我有一个这样的表设置:

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 的次数。在这个例子中,苹果是 5 两次,橙子是 5 一次。那有意义吗?fruit1 的编号是 number1,fruit2 的编号是 number2,以此类推...

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

提前致谢!

4

1 回答 1

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
于 2012-12-30T05:06:16.877 回答