powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Последние записи без повтора автора
9 сообщений из 9, страница 1 из 1
Последние записи без повтора автора
    #38331913
volodymyrl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача: вывод последних публикаций без повтора автора, отсортированных по дате (это WordPress, но сути не меняет)

Попробовал написать такой запрос

Код: plsql
1.
2.
3.
4.
5.
6.
7.
$sql =  "SELECT p.post_author, p.ID, p.post_title, p.post_content, p.post_date 
     FROM $wpdb->posts p 
     WHERE p.post_type = 'post'
      AND p.post_status = 'publish' 
       GROUP BY p.post_author
       ORDER BY p.post_date DESC
        LIMIT 6";



выбирает без повтора автора, но по дате сортировка не работает(
если удаляю GROUP BY p.post_author то сортирует нормально. Подскажите, если кто знает) Спасибо!
...
Рейтинг: 0 / 0
Последние записи без повтора автора
    #38331928
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volodymyrl,

Ты вообще зачем группировка используется понимаешь?
Вот на пальцах если:
Код: sql
1.
2.
1 запись: post_author = 'Иван', post_date = '2013-07-13'
2 запись: post_author = 'Иван', post_date = '2013-07-15'



Сгруппировал ты записи по Ивану, получил 1 запись, а post_date туда какой из двух брать?
...
Рейтинг: 0 / 0
Последние записи без повтора автора
    #38331944
volodymyrl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MikkiMousevolodymyrl,

Ты вообще зачем группировка используется понимаешь?
Вот на пальцах если:
Код: sql
1.
2.
1 запись: post_author = 'Иван', post_date = '2013-07-13'
2 запись: post_author = 'Иван', post_date = '2013-07-15'



Сгруппировал ты записи по Ивану, получил 1 запись, а post_date туда какой из двух брать?

Спасибо за пояснение, буду знать. И все же можно как-то подобный функционал реализовать?
...
Рейтинг: 0 / 0
Последние записи без повтора автора
    #38331987
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volodymyrl,

Так какой функционал? Непонятно чего ты хочешь. Взять последние по дате, первые по дате, любые, какие?
...
Рейтинг: 0 / 0
Последние записи без повтора автора
    #38332004
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volodymyrl,

Почитайте ФАК, ...выборка первой/последней...
...
Рейтинг: 0 / 0
Последние записи без повтора автора
    #38332054
volodymyrl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MikkiMousevolodymyrl,

Так какой функционал? Непонятно чего ты хочешь. Взять последние по дате, первые по дате, любые, какие?

6 последних публикаций последних по дате без повтора автора.
...
Рейтинг: 0 / 0
Последние записи без повтора автора
    #38332098
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volodymyrlMikkiMousevolodymyrl,

Так какой функционал? Непонятно чего ты хочешь. Взять последние по дате, первые по дате, любые, какие?

6 последних публикаций последних по дате без повтора автора.

прочитайте на клиента 50 последних,
а там уж простеньким циклом насобираете 6.
Делать это на СКл-е -- занудство -- учитывая
требуемое количество.
...
Рейтинг: 0 / 0
Последние записи без повтора автора
    #38332316
volodymyrl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javajdbcvolodymyrlпропущено...


6 последних публикаций последних по дате без повтора автора.

прочитайте на клиента 50 последних,
а там уж простеньким циклом насобираете 6.
Делать это на СКл-е -- занудство -- учитывая
требуемое количество.

я так и буду делать, но думал есть "красивое" решение на mysql)
...
Рейтинг: 0 / 0
Последние записи без повтора автора
    #38332986
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volodymyrljavajdbcпропущено...


прочитайте на клиента 50 последних,
а там уж простеньким циклом насобираете 6.
Делать это на СКл-е -- занудство -- учитывая
требуемое количество.

я так и буду делать, но думал есть "красивое" решение на mysql)

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
select * 
from
( 
select user_id, max(msg_time) max_time
from mesgs
group by user_id
) z
stright_join mesgs m 
on m.user_id = z.user_id
and m.max_time = z.msg_time
order by msg_time desc
limit 6
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Последние записи без повтора автора
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]