powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Cлучайная выборка DISTINCT запросом
16 сообщений из 16, страница 1 из 1
Cлучайная выборка DISTINCT запросом
    #36946291
elandev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Помогите пожалуйста с запросом!
Есть простая таблица вопросов для теста (ID,Text), делаю запрос для получения 5-ти случайных записей, с условием отсутсвия дубликатов в Text
Код: plaintext
SELECT DISTINCT Text FROM TblSimple ORDER BY RANDOM() LIMIT  5 ;
Запрос работает отлично, но мне нужно чтобы присудствовал столбец ID в итоге.

в запросе
Код: plaintext
SELECT DISTINCT Text, ID FROM TblSimple ORDER BY RANDOM() LIMIT  5 ;
попадаются дубликаты в Text!
...
Рейтинг: 0 / 0
Cлучайная выборка DISTINCT запросом
    #36947481
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а так не пойдет
Код: plaintext
1.
INSERT INTO TargetTable
SELECT DISTINCT * FROM SourceTable
...
Рейтинг: 0 / 0
Cлучайная выборка DISTINCT запросом
    #36947509
elandev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nosov,

Код: plaintext
SELECT DISTINCT * FROM
такой запрос выдает дубликаты в столбце Text, а это не нужно !
...
Рейтинг: 0 / 0
Cлучайная выборка DISTINCT запросом
    #36947593
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
elandev,

SELECT DISTINCT -- по стандарту SQL такой запрос должен только уникальные выбирать
...
Рейтинг: 0 / 0
Cлучайная выборка DISTINCT запросом
    #36947648
elandev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nosov,

Должен, но чтото не получается! Для примера таблица TblSimple(ID,Name)
1 Text1
2 Text2
3 Text3
4 Text4
5 Text5
6 Text2
7 Text1
8 Text3

запрос
Код: plaintext
SELECT DISTINCT Name FROM TblSimple ORDER BY RANDOM() LIMIT  5 ;
работает когда указываешь конкретное поле

а запрос
Код: plaintext
SELECT DISTINCT * FROM TblSimple ORDER BY RANDOM() LIMIT  5 ;
или
Код: plaintext
SELECT DISTINCT Name,ID FROM TblSimple ORDER BY RANDOM() LIMIT  5 ;
иногда выбрасывают в поле Name дубликаты!
...
Рейтинг: 0 / 0
Cлучайная выборка DISTINCT запросом
    #36947689
_some_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elandev,

Попробуйте вписать условие:

WHERE ID <> RANDOM()
...
Рейтинг: 0 / 0
Cлучайная выборка DISTINCT запросом
    #36947699
elandev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_some_,

Непомогло!
...
Рейтинг: 0 / 0
Cлучайная выборка DISTINCT запросом
    #36947716
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
elandev,

вот статья на эту тему :

http://stackoverflow.com/questions/966176/tsql-select-distinct-on-one-column
...
Рейтинг: 0 / 0
Cлучайная выборка DISTINCT запросом
    #36948631
elandev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nosov,

Те решения, что предлагаются, в моём случае не применимы!
...
Рейтинг: 0 / 0
Cлучайная выборка DISTINCT запросом
    #36948651
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ElandevТе решения, что предлагаются, в моём случае не применимыПочему ?
из-за SQLite ?
на MS SQL Server 2005 или 2008 это работает ???
...
Рейтинг: 0 / 0
Cлучайная выборка DISTINCT запросом
    #36948716
elandev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nosov,

Да я не смог применить для SQlite3 не один из вариантов! Если поможете, буду очень признателен!
...
Рейтинг: 0 / 0
Cлучайная выборка DISTINCT запросом
    #36948785
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
SELECT DISTINCT Text, ID FROM TblSimple ORDER BY RANDOM() LIMIT  5 ;
И ID какой же из записей с одним и тем же Text должен здесь возвращаться ?
...
Рейтинг: 0 / 0
Cлучайная выборка DISTINCT запросом
    #36948826
elandev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitry Arefiev,

Не пойму вопроса! ID нужен для связи с другой таблицей!
Выше указанная таблица с вопросами, которые могут повторяться, но есть таблица с отве-тами, и на каждый вопрос даже повторяющийся, есть свои ответы.
...
Рейтинг: 0 / 0
Cлучайная выборка DISTINCT запросом
    #36948966
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2elandev

если тхт1, тхт2, тхт3 ... это тексты вопросов для экзам. билетов
то ваша ай-ди колонка ваще не нужена

дано :
в каждом билете 5 разных вопросов
всего вопросов 400
студентов в группе 20

вспоминаем комбинатортку
вычисляем сколько может быть ваще разных билетов
нам надо не менее 60
ибо студент имеет право тащить билет 3 раза
если надо создаем новые вопросы
все (имхо)

кстати видел в сети простенькую программу
которая сама формирут билеты и печатает их.
...
Рейтинг: 0 / 0
Cлучайная выборка DISTINCT запросом
    #36948976
elandevDmitry Arefiev,

Не пойму вопроса! ID нужен для связи с другой таблицей!
Выше указанная таблица с вопросами, которые могут повторяться, но есть таблица с отве-тами, и на каждый вопрос даже повторяющийся, есть свои ответы.
ЖЕСТЬ! Вопросы одинаковые, - ответы разные.

Код: plaintext
1.
select t.name,(select t2.id from tblsimple t2 where t2.name=t.name limit  1 ) id 
from (select distinct name from tblsimple order by random() limit  5 ) t;
или, чтобы быть уверенным в непредсказуемости результата:
Код: plaintext
1.
select t.name,(select t2.id from tblsimple t2 where t2.name=t.name by random() limit  1 ) id
from (select distinct name from tblsimple order by random() limit  5 ) t;
...
Рейтинг: 0 / 0
Cлучайная выборка DISTINCT запросом
    #36948996
пардон, во втором запросе неточность, - пропустил ключевое слово order
Код: plaintext
1.
select t.name,(select t2.id from tblsimple t2 where t2.name=t.name order by random() limit  1 ) id
from (select distinct name from tblsimple order by random() limit  5 ) t;
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Cлучайная выборка DISTINCT запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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