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,但仍然没有帮助