I have written following MySQL select query:
SELECT cs.id, cs.campaign_id, cs.instagram_id, cs.media_id, cs.has_tag, cs.comments_count, cs.likes_count, DATE(cs.created_date) AS created_date, sl.username, (cs.comments_count + cs.likes_count) AS total_comments_likes
FROM campaign_statistic AS cs
LEFT JOIN social_login AS sl ON sl.social_id = cs.instagram_id
WHERE instagram_id IN (481959735, 12095962)
AND has_tag = 'sometag'
ORDER BY created_date ASC
And getting this result:

Now you can see there are three entry from 2015-12-10:
id campaign_id instagram_id media_id has_tag comments_count likes_count created_date username total_comments_likes
66 50 481959735 1110926795500814980_481959735 sometag 1 51 2015-12-10 myname 52
74 50 12095962 1102652300222991882_12095962 sometag 0 16 2015-12-10 myname 16
77 50 481959735 1096415071007540220_481959735 sometag 0 18 2015-12-10 myname 18
You can see 481959735 instagram id has two records for that day(2015-12-10). Now I want SUM comments_count & likes_count of 481959735 and merge in on row.
I want this output:
id campaign_id instagram_id media_id has_tag comments_count likes_count created_date username total_comments_likes
66 50 481959735 1110926795500814980_481959735 sometag 1 69 2015-12-10 myname 70
74 50 12095962 1102652300222991882_12095962 sometag 0 16 2015-12-10 myname 16
Any idea how to do this with mysql query.
Thanks
USE Group By clause and SUM function for SUM
Query will be
SELECT cs.campaign_id, cs.instagram_id,Sum(cs.comments_count), SUM(cs.likes_count),Sum(cs.comments_count) +SUM(cs.likes_count) AS total_comments_likes FROM campaign_statistic AS cs LEFT JOIN social_login AS sl ON sl.social_id = cs.instagram_id WHERE cs.instagram_id IN (481959735, 12095962) AND has_tag = 'sometag' group by cs.campaign_id, cs.instagram_id ORDER BY created_date ASC
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With