如果sum> x,则自定义选择

时间:2012-12-06 12:19:26

标签: mysql group-by

我有这张桌子:

TICKETID | PRICE | NUMBER

因此,对于每个ticketid,玩家可以为ticketid上的每个号码支付价格。

因此,如果玩家想为ticketid 25的数字22,23和24支付1 $,3 $和4 $,那么该表将如下所示:

TICKETID | PRICE | NUMBER 
25       |   1   |  22 
25       |   3   |  23 
25       |   4   |  24

我想选择总票价> 50的随机票,以便获得奖品。

我也希望随机化是公平的,并且在进行抽奖时,每张票只有1个幻影率。如果我不使用DISTINCT或GROUPBY,那么包含10个数字的ticketid将比具有2个数字的票证有更多机会被绘制。

我尝试了这个,但它不起作用:

SELECT DISTINCT(ticketid),SUM(price) FROM table 
     WHERE SUM(price)>50 GROUP BY ticketid

我收到错误消息

  

无效使用GROUP BY功能

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

您想要的是“HAVING”子句,该子句应用于处理聚合后的任何可能的候选记录。已经应用了THEN,并且在最终结果集中包括(或不包括)。

SELECT 
      ticketid,
      SUM(price) TotalPrice
   FROM 
      table 
   group by
      TicketID
   HAVING
      sum(price) > 50