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

特定の果物が何回 5 になるかをカウントするには、MySQL クエリが必要です。この例では、リンゴは 2 回、オレンジは 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 に答える