Jazuly
Jazuly

Reputation: 1424

How to group data from database

I want to group my data based episodes.id_e and episodes.id_mp_e.

when i run this code

SELECT * 
    FROM  link_relation, 
          episodes, 
          master_post 
   WHERE link_relation.id_mp_lr = master_post.id_mp 
     AND episodes.id_mp_e = master_post.id_mp 
     AND episodes.no_e = link_relation.no_e_lr 
    GROUP BY episodes.id_e 
    ORDER BY episodes.tanggal_e DESC`


The result what I am getting is :

id_mp_e       no_e         column_n
============  ===========  ===============
1             EP02         xxxxxxxxx
2             EP01         xxxxxxxxx
2             EP01         xxxxxxxxx
1             EP01         xxxxxxxxx
1             EP01         xxxxxxxxx

what i have to do to group id_mp_e and no_e to get result like this

id_mp_e       no_e         column_n
============  ===========  ===============
1             EP02         xxxxxxxxx
2             EP01         xxxxxxxxx
1             EP01         xxxxxxxxx

table above only show id_mp_e and no_e if they have different value.

Upvotes: 1

Views: 121

Answers (2)

krads
krads

Reputation: 1369

You appear to have grouped on the wrong column. Where you have:

GROUP BY episodes.id_e

You should instead specify the columns you want to group by:

GROUP BY episodes.id_mp_e, episodes.no_e

Upvotes: 1

Madhur Bhaiya
Madhur Bhaiya

Reputation: 28834

Just add one more field (episodes.id_mp_e) in the GROUP BY clause, using comma separated:

SELECT * FROM  link_relation, episodes, master_post 
WHERE link_relation.id_mp_lr = master_post.id_mp 
AND episodes.id_mp_e = master_post.id_mp 
AND episodes.no_e = link_relation.no_e_lr 
GROUP BY episodes.id_mp_e, episodes_no_e
ORDER BY episodes.tanggal_e DESC

Upvotes: 0

Related Questions