2

我表的每一行都是一个带有日期和字节的应用程序(google、facebook)。

我正在做的是按应用程序和日期分组:

SELECT app, sum(bytes) as total, date
FROM logs
WHERE `date` BETWEEN '2018-11-23' AND '2018-11-25'
GROUP BY app, date

这是结果:

app      | total  | date
facebook | 2736   | 2018-11-23
google   | 4968   | 2018-11-23
twitter  | 606520 | 2018-11-23
facebook | 2736   | 2018-11-24
youtube  | 153077 | 2018-11-24
twitter  | 84561  | 2018-11-24

但我需要的是在 DESC 中订购总数。所以现在我每天都在尝试按总数排序并得到这个结果:

app      | total  | date
twitter  | 606520 | 2018-11-23 <---
google   | 4968   | 2018-11-23 <---
facebook | 2736   | 2018-11-23
youtube  | 153077 | 2018-11-24 <---
twitter  | 84561  | 2018-11-24 <---
facebook | 2736   | 2018-11-24

关于如何用 mysql 做到这一点的任何想法?谢谢 !

4

2 回答 2

2

您可以在下面尝试使用order by total desc and date asc

SELECT app, sum(bytes) as total, date
FROM logs
WHERE `date` BETWEEN '2018-11-23' AND '2018-11-25'
GROUP BY app, date
order by date,total desc
于 2018-12-18T11:07:20.880 回答
1

您的样本数据建议我:

SELECT app, sum(bytes) as total, date
FROM logs
WHERE `date` BETWEEN '2018-11-23' AND '2018-11-25'
GROUP BY app, date
ORDER BY date, total DESC;
于 2018-12-18T11:11:35.407 回答