SQL Jak zamówić przez dzień, a następnie przez sumę

głosy
1

Każdy wiersz moim stole jest aplikacją (google, facebook) z datą i bajtów.

Co robię to przez grupowanie aplikacji i daty z tego wniosek:

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

Jest to wynikiem:

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

Ale to, co potrzebne jest, aby zamówić w sumie DESC. Więc teraz próbuję za każdy dzień zamówić przez całkowite i mieć ten wynik:

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

Każdy pomysł, w jaki sposób to zrobić z mysql? Dzięki !

Utwórz 18/12/2018 o 11:06
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
1

Dane próbki sugeruje mnie:

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;
Odpowiedział 18/12/2018 o 11:11
źródło użytkownik

głosy
1

Można spróbować poniżej korzystania 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
Odpowiedział 18/12/2018 o 11:07
źródło użytkownik

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