Mysql 自定义选择如果总和大于;x

Mysql 自定义选择如果总和大于;x,mysql,group-by,Mysql,Group By,我有这张桌子: TICKETID | PRICE | NUMBER 因此,对于每个ticketid,玩家可以为ticketid上的每个数字付费 因此,如果玩家想要为ticketid25的数字22、23和24分别支付1美元、3美元和4美元,那么该表将如下所示: TICKETID | PRICE | NUMBER 25 | 1 | 22 25 | 3 | 23 25 | 4 | 24 我想选择一张总价格>50的随机门票,使其

我有这张桌子:

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的随机门票,使其获得奖品

我还希望随机分组是公平的,在抽签时,每张票只有一个幻影率。如果我不使用DISTINCT或GROUPBY,那么带有10个数字的
ticketid
将比带有2个数字的票子有更多的机会被抽签

我试过这个,但不起作用:

SELECT DISTINCT(ticketid),SUM(price) FROM table 
     WHERE SUM(price)>50 GROUP BY ticketid
我收到了错误信息

按函数分组的用法无效

有人能帮忙吗?

您需要的是“HAVING”子句,它在处理group by聚合后应用于任何可能的候选记录。然后应用Having,并将其包含(或不包含)在最终结果集中

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

如果使用
分组方式
,则不需要
DISTINCT
@valex-正确,但我尝试删除DISTINCT,但仍然没有帮助