Я хочу получить список сообщений, отсортированных по количеству комментариев, я успешно выполнил следующий запрос, но он дает повторяющиеся значения, т.е. сообщения повторяются, я хочу, чтобы их уникальная сортировка по количеству комментарии, когда я помещаю DISTINCT() вокруг всего моего запроса, появляется ошибка: # 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с «UNIQUE (post.pname, post.pid FROM Оставлять комментарии WHERE post.pid = comment.pid ORD» в строке 1mysql DISTINCT() не работает должным образом
Запрос без DISTINCT() (работ, но, конечно, не дают уникальных значений)
SELECT post.pname, post.pid
FROM post,
COMMENT WHERE post.pid = comment.pid
ORDER BY (
SELECT COUNT(*)
FROM COMMENT WHERE comment.pid = post.pid
GROUP BY post.pname
)
запросов с DISTINCT() (не работает)
SELECT DISTINCT(post.pname, post.pid
FROM post,
COMMENT WHERE post.pid = comment.pid
ORDER BY (
SELECT COUNT(*)
FROM COMMENT WHERE comment.pid = post.pid
GROUP BY post.pname
))
Вы имеете в виду DISTINCT, а не UNIQUE? –
Уникальный предназначен для добавления ограничений, тогда как для выбора уникальных строк используется отдельный. – Maxqueue
Прошу прощения, DISTINCT тоже не работает – user3597009