Mysql – Problem With DISTINCT!

mysqlsql

Here is my query:

SELECT 
DISTINCT `c`.`user_id`,
`c`.`created_at`,
`c`.`body`,
(SELECT COUNT(*) FROM profiles_comments c2 WHERE c2.user_id = c.user_id AND c2.profile_id = 1) AS `comments_count`,
`u`.`username`,
`u`.`avatar_path` 
FROM `profiles_comments` AS `c` INNER JOIN `users` AS `u` ON u.id = c.user_id 
WHERE (c.profile_id = 1) ORDER BY `u`.`id` DESC;

It works. The problem though is with the DISTINCT word. As I understand it, it should select only one row per c.user_id.

But what I get is even 4-5 rows with the same c.user_id column. Where is the problem?

Best Solution

actually, DISTINCT does not limit itself to 1 column, basically when you say:

SELECT DISTINCT a, b

What you're saying is, "give me the distinct value of a and b combined" .. just like a multi-column UNIQUE index