
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
31.08.2016, 08:40
|
|||
|---|---|---|---|
|
|||
Выбор уникальных случайных записей |
|||
|
#18+
Таблица следующая: ptype | text ------------- 1 Text1 2 Text2 3 Text3 4 Text4 1 Text5 2 Text6 3 Text7 4 Text8 1 Text9 2 Text10 .... Нужно выбрать 4 случайные записи с уникальным ptype. К примеру 1 Text5 2 Text10 3 Text7 4 Text4 Запрос такого вида выдает 4 записи с повторяющимися ptype: Код: sql 1. Как это можно реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2016, 09:00
|
|||
|---|---|---|---|
Выбор уникальных случайных записей |
|||
|
#18+
сгруппируй по ptype ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2016, 09:41
|
|||
|---|---|---|---|
|
|||
Выбор уникальных случайных записей |
|||
|
#18+
982183сгруппируй по ptype Код: sql 1. Так выдает только первые 4 записи в случайном порядке: 1 Text1 2 Text2 3 Text3 4 Text4 2 Text2 1 Text1 4 Text4 3 Text3 и тд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2016, 10:02
|
|||
|---|---|---|---|
Выбор уникальных случайных записей |
|||
|
#18+
Сначала получите 4 случайных ptype, а потом только для них во внешнем запросе случайные text. Альтернатива - пронумеруйте записи в группах по ptype в случайном порядке и отберите 4 случайных type с номером 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2016, 11:23
|
|||
|---|---|---|---|
|
|||
Выбор уникальных случайных записей |
|||
|
#18+
AkinaСначала получите 4 случайных ptype, а потом только для них во внешнем запросе случайные text. Альтернатива - пронумеруйте записи в группах по ptype в случайном порядке и отберите 4 случайных type с номером 1. А как я получу 4 случайных уникальных(!) ptype, если их всего в таблице 4 (от 1 до 4)? Если просто выбрать 4 случайных записи, то там могут быть одинаковые ptype. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2016, 11:42
|
|||
|---|---|---|---|
|
|||
Выбор уникальных случайных записей |
|||
|
#18+
Получить 4 случайных уникальных ptype (distinct, group by - в чем проблема?), по каждому выбрать случайную запись с этим ptype. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2016, 12:18
|
|||
|---|---|---|---|
|
|||
Выбор уникальных случайных записей |
|||
|
#18+
ADxПолучить 4 случайных уникальных ptype (distinct, group by - в чем проблема?), по каждому выбрать случайную запись с этим ptype. Не совсем понял вас.. В посте № 3 я писал про запрос distinct, group by. Результат не тот, который мне нужен. Или вы имели ввиду другое? Можно на коде это показать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2016, 17:38
|
|||
|---|---|---|---|
Выбор уникальных случайных записей |
|||
|
#18+
AziAdкак я получу 4 случайных уникальных(!) ptype, если их всего в таблице 4 (от 1 до 4)? Если просто выбрать 4 случайных записи, то там могут быть одинаковые ptype.Ну глупости-то не говори... коню понятно, что ПОСЛЕ группировки. AziAdих всего в таблице 4 (от 1 до 4)Это аксиома - что их ровно 4, и требуется тоже ровно 4? тогда не патчи мозг и сделай 4 запроса (для каждого конкретного ptype), объединив их по UNION ALL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2016, 17:39
|
|||
|---|---|---|---|
|
|||
Выбор уникальных случайных записей |
|||
|
#18+
На ум приходит только выполнить 4 запроса для ptype = 1, 2, 3, 4 с условием order by rand() limit 1. Но для производительности это критично Код: sql 1. 2. 3. 4. Как выбрать в одном запросе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2016, 17:46
|
|||
|---|---|---|---|
Выбор уникальных случайных записей |
|||
|
#18+
AziAdКак выбрать в одном запросе?Да блин же! Akinaобъединив их по UNION ALL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2016, 18:03
|
|||
|---|---|---|---|
|
|||
Выбор уникальных случайных записей |
|||
|
#18+
Akina , Код: sql 1. 2. 3. 4. 5. 6. 7. Какой-то слишком перегруженный запрос получается. Подскажите с вариантом GROUP BY и DISTINCT, на примере пожалуйста? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1831453]: |
0ms |
get settings: |
4ms |
get forum list: |
17ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
164ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 466ms |

| 0 / 0 |
