SQL Запрос, чтобы найти 5 самых популярных твитов - PullRequest
0 голосов
/ 27 мая 2020

Как найти 5 месяцев с наибольшим количеством твитов и отсортировать их по количеству твитов за каждый месяц.

Таблица twitter выглядит так:

Token type  Month   count   Hash Tag Name
hashtag     200910  2   Babylove
hashtag     200911  2   babylove
hashtag     200912  90  babylove
hashtag     200812  100 mycoolwife
hashtag     200901  201 mycoolwife
hashtag     200910  1   mycoolwife
hashtag     200912  500 mycoolwife
hashtag     200905  23  abc
hashtag     200907  1000 abc

Результат должен быть таким

 month  numtweets
200907  1000
200912  590
200901  201
200812  100
200905  23

Ответы [ 3 ]

2 голосов
/ 27 мая 2020

Вы можете попробовать следующее

SELECT Token_type,Month,count, HashTag,cnt, SUM(cnt) AS cumulative
FROM (SELECT Token_type,Month,count, HashTag, COUNT(*) AS cnt
      FROM tweets
      GROUP BY Month) AS b
GROUP BY Month
ORDER BY cumulative DESC;
2 голосов
/ 27 мая 2020

Это то, что вам нужно?

SELECT Month,SUM(count) as numtweets
FROM twitter 
GROUP BY Month
ORDER BY numtweets DESC
LIMIT 5
0 голосов
/ 27 мая 2020

Полагаю, это должно быть примерно так, если вы используете SQL Management:

SELECT TOP 5 Month, SUM(count) as number_tweets
FROM your_table_name
GROUP BY Month
ORDER BY number_Tweets DESC

Но если вы используете PHPmyadmin для своей базы данных, вам следует использовать следующий код:

SELECT Month, SUM(count) as number_tweets
FROM your_table_name
GROUP BY Month
ORDER BY number_Tweets DESC
LIMIT 5

Это происходит потому, что PHPmyadmin не поддерживает предложение «TOP», я попробовал этот код для своей базы данных, и он сработал

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...