|
Выборка без повторов
|
|||
---|---|---|---|
#18+
Вобщем проблема такая, мне нужно сделать блок для сайта - "горячие темы". Выбирается 5 тем, с последними ответами, но может случиться ситуация, когда два последних ответа будет в одной теме, тогда в списке будет две одинаковых горячих темы, а это не желательно =) Форум стоит phpbb2. Вот запрос: SELECT DISTINCT topic_id, post_id, poster_id FROM phpbb2plus_posts ORDER BY post_id DESC LIMIT 0,5 Мне нужно, чтобы не повторялось только поле topic_id. poster_id может повторяться. Я вычитал в доках, что нужно ставить параметр DISTINCT. Но почему-то его наличие или отсутствие никак не сказывается на результате =) Подскажите, пожалуйста, как поступить! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2004, 20:40 |
|
Выборка без повторов
|
|||
---|---|---|---|
#18+
вынеси DISTINCT в Where, изапрос типа Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2004, 10:40 |
|
Выборка без повторов
|
|||
---|---|---|---|
#18+
я несовсем точно ответил, только показал идею ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2004, 10:42 |
|
Выборка без повторов
|
|||
---|---|---|---|
#18+
Что то я недопонял. Например при topic_id post_id poster_id 1 1 1 1 2 3 какой должен быть результат? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2004, 21:13 |
|
Выборка без повторов
|
|||
---|---|---|---|
#18+
Нет, что-то не получилось, вот что он ответил: Ошибка SQL-запрос : SELECT topic_id, post_id, poster_id FROM phpbb2plus_posts WHERE topic_id IN ( SELECT DISTINCT topic_id FROM phpbb2plus_posts ) ORDER BY post_id DESC LIMIT 0, 3 Ответ MySQL: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT DISTINCT topic_id FROM phpbb2plus_posts ) ORDER BY pos Наверное версия старая? А как тогда подругому можно сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2004, 23:07 |
|
Выборка без повторов
|
|||
---|---|---|---|
#18+
Хрен, он должен выбрать в этом случае вариант 1 2 3 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2004, 23:09 |
|
Выборка без повторов
|
|||
---|---|---|---|
#18+
можно сделать типа токого Код: plaintext 1. 2. 3.
правда не знаю прокатит или нет с MySQL не работал i_i (';') (V),(V),, JS ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2004, 13:39 |
|
Выборка без повторов
|
|||
---|---|---|---|
#18+
К сожалению не заработало =( не знаю что делать...=) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2004, 19:17 |
|
Выборка без повторов
|
|||
---|---|---|---|
#18+
Здесь надо сделать не DISTINCT а группировку Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2004, 10:43 |
|
Выборка без повторов
|
|||
---|---|---|---|
#18+
Да, уточняю, предыдущий запрос я делал в Access, для My SQL это выглядит так, (убравши все лишнее) Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2004, 10:46 |
|
|
start [/forum/topic.php?fid=47&fpage=691&tid=1855360]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 136ms |
0 / 0 |