У меня есть таблица со следующими ключевыми полями: commentid
, comment
, time
, parentid
MySQL OrderBy запрос GroupBy,
Комментарии бывают двух типов, regular
и replies
. Регулярные имеют parentid 0; ответы имеют родительский знак, равный комментарию, на который они отвечают.
Я думал, что это выяснилось с группой и заказами, но моя идея не сработала, и теперь я борюсь, поскольку мои знания sql являются рудиментарными.
Я хочу, чтобы он отображался по времени DESC, за исключением того, что мне бы хотелось, чтобы те, у которых один и тот же родитель, сгруппированы вместе и внутри этого родителя, также будут сортироваться по времени. Я допускаю только один уровень ответа.
В качестве примера, я хотел бы следующий порядок:
time3 commentid3 parentid0
time2 commentid2 parentid0
parentid2 commentid4 time4 (this one is a reply)
parentid2 commentid5 time5 (this one also reply)
time1 comment1 parentid0
Я попытался SELECT * from comments GROUP BY parentid ORDER BY TIME DESC
, но это не сработало. При необходимости я могу добавить еще один столбец. Мы ценим любые предложения! Спасибо.
Как установить поток? Это то же самое, что и комментарий? если я это правильно понимаю, он выводит исходные потоки. Я пытаюсь подражать disqus, livefyre с комментариями во время спуска, но с ответами, отображаемыми с отступом ниже комментария, на который они отвечают. Отступы - это просто проблема форматирования, поэтому мне просто нужно, чтобы ответы были помещены под соответствующими родительскими комментариями. – user1260310
Тема может быть не лучшим словом для нее, но она задается условным, если в предложении select. Поэтому, если parent_id имеет значение null, мы будем использовать commentid для идентификатора потока. Это просто для упорядочения и группировки всех комментариев вместе. – Gohn67
Чтобы пояснить, нить не является реальным столбцом, это просто псевдоним для функции if. Мы обманываем здесь поток, потому что мы предполагаем, что потоки вводятся в порядке от старейшего до новейшего, и затем каждый из сгруппированных комментариев сортируется по столбцу времени. – Gohn67