我有一张名为" Sold_tickets"具有属性" Ticket_id"和" Date_sold"。我想找到售出最多门票的日子和售出的门票数量。
ticket_id date_sold
1 2017-02-15
2 2017-02-15
3 2017-02-14
在这种情况下,我希望我的输出看起来像这样:
date_sold amount
2017-02-15 2
我知道你可以使用像这样的查询
SELECT Count(ticket_id)
FROM Sold_tickets
WHERE date_sold = '2017-02-15';
得到2的输出。当然可以为2017-02-14获得1的输出。但是,我必须手动检查所有日期并自己比较它们。是否存在一个函数(在sqlite中),它计算所有日期的售票,然后只显示最大值?
答案 0 :(得分:3)
尝试使用GROUP BY
聚合查询,然后仅保留具有最大销售数量的记录。
SELECT date_sold, COUNT(*)
FROM Sold_tickets
GROUP BY date_sold
ORDER BY COUNT(*) DESC
LIMIT 1
假设您没有两个或更多日期与最大销售数相关联,或者如果存在平局,您不介意只选择一个日期组,则此解决方案可以正常运行。