SQL Comment commander par jour et par somme

voix
1

Chaque ligne de ma table est une application (Google, facebook) avec la date et octets.

Ce que je fais est le regroupement par l'application et la date de cette demande:

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

Ceci est le résultat:

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

Mais ce que je dois commander est totale DESC. Alors maintenant, je suis en train de chaque jour à l'ordre par le total et ont ce résultat:

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

Toute idée sur la façon de le faire avec MySQL? Merci !

Créé 18/12/2018 à 11:06
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
1

Vous pouvez essayer d'utiliser ci-dessous 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
Créé 18/12/2018 à 11:07
source utilisateur

voix
1

Vos données de l'échantillon me suggère:

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;
Créé 18/12/2018 à 11:11
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more