Momenteel werk ik aan een script die de laatste Tweets van een lijst ophaalt van de Twitter api en deze opslaat in een MySQL database. De lijst bevat zowel tweets als retweets van de geselecteerde personen en worden als volgt opgeslagen:
Tweets: om alle tweets op te slaan. Is de tweet niet van een persoon uit de lijst maar van daarbuiten dan worden de gegevens van de persoon buiten de lijst opgeslagen.
Probleem is nu dat hij een tweet 2 keer teruggeeft als deze 2 keer geretweet is. Graag zou ik zien dat hij één tweet (rij) teruggeeft met daarin de personen die deze geretweet hebben (alleen jan of jan, piet, klaas). Ik heb me helemaal suf gezocht op Google, maar een GROUP by of GROUP_CONCAT zijn volgens mij hier niet de oplossing. Hoe kan ik dit het beste oplossen? Een hint naar een juiste zoekterm zou mij ook al ontzettend helpen!
Tweets: om alle tweets op te slaan. Is de tweet niet van een persoon uit de lijst maar van daarbuiten dan worden de gegevens van de persoon buiten de lijst opgeslagen.
- tweetid
- username
- text
- etc.
- tweetid
- retweet_username
MySQL:
1
2
3
4
5
6
7
8
9
| SELECT tweets.tweetid, tweets.username, retweets.tweetid, retweets.retweet_username FROM tweets LEFT JOIN retweets ON tweets.tweetid = retweets.tweetid |
Probleem is nu dat hij een tweet 2 keer teruggeeft als deze 2 keer geretweet is. Graag zou ik zien dat hij één tweet (rij) teruggeeft met daarin de personen die deze geretweet hebben (alleen jan of jan, piet, klaas). Ik heb me helemaal suf gezocht op Google, maar een GROUP by of GROUP_CONCAT zijn volgens mij hier niet de oplossing. Hoe kan ik dit het beste oplossen? Een hint naar een juiste zoekterm zou mij ook al ontzettend helpen!