获取sql

时间:2017-04-09 12:22:51

标签: mysql sqlite

我有一张名为" 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中),它计算所有日期的售票,然后只显示最大值?

1 个答案:

答案 0 :(得分:3)

尝试使用GROUP BY聚合查询,然后仅保留具有最大销售数量的记录。

SELECT date_sold, COUNT(*)
FROM Sold_tickets 
GROUP BY date_sold
ORDER BY COUNT(*) DESC
LIMIT 1

假设您没有两个或更多日期与最大销售数相关联,或者如果存在平局,您不介意只选择一个日期组,则此解决方案可以正常运行。