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

start [/forum/topic.php?fid=47&fpage=93&tid=1831453]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 353ms |

| 0 / 0 |
