MySQL - 跨列选择不同的条目?

时间:2018-03-13 21:33:43

标签: mysql sql select mysqli

我有一个数据库,可以跟踪人们在展会摊位上获得的奖品。大多数展位都有重叠和类似的奖品,因此参与者可以从2个展位赢得枕头(例如)。

现在,我们希望能够跟踪有多少人赢得特定奖品,因为我们想要统计并记录已经赢得某个奖项的人数。

表格如下:

table

在给定列中很容易获得某个奖项的计数。但是,我在尝试跨多个列合并数据时遇到了问题。

1 个答案:

答案 0 :(得分:4)

如果你无法规范你的桌子,那么一堆union all就可以解决这个问题:

SELECT   prize, COUNT(*)
FROM     (SELECT station_1_prize AS prize FROM mytable
          UNION ALL
          SELECT station_2_prize AS prize FROM mytable
          UNION ALL
          -- Etc...
         ) t
GROUP BY prize