2014-09-19 4 views
0

Теперь я больше Dev, чем администратор баз данных, но это, похоже, не очень логично, поэтому отложите в сторону, есть ли лучший способ сделать это , Я изо всех сил пытаюсь найти в этом логику.SQL Server Select Distinct Возвращает разные результаты каждый раз

выберите отчетливый TestID из tbl_result

Кажущийся простой кусок SQL, правильно, беда в том, что, когда я запускаю его (как в коде и анализатор запросов) я получаю разные наборы результатов каждый раз. интересно то, что результирующие множества возвращают одинаковое количество записей, и они уникальны по сравнению с другими (в обоих наборах данных нет значения), но после случайного числа нажатий F5 мы получаем разные результаты, нет даже каких-либо последовательное количество раз, которое показывает каждый другой набор.

Структура таблицы:

  • 12 колонн, в основном Интс, один VARCHAR (50)
  • Он имеет столбец идентификаторов в качестве первичного ключа, так как кластерный индекс
  • Есть более 500000 записей в table

Как я уже сказал, я знаю, что могу получить список 1000 или около того testIds по-другому, но мне очень любопытно, есть ли у кого-либо такой сценарий раньше.

Заранее спасибо.

+0

Если это просто, строки возвращаются в другом * порядке *, что вполне ожидаемо. SQL не дает никаких гарантий в * порядке *, в котором он возвращает результаты, за исключением каких-либо явных требований, которые вы ему предоставили, с помощью предложения «ORDER BY» - нет «ORDER BY», никаких гарантий. –

ответ

1

Возможно ли, что они возвращают одинаковые значения testid, только в другом порядке? Можете ли вы предоставить дополнительную информацию о структуре таблицы? Есть ли кластерный индекс и/или первичный ключ в таблице? Почему именно вы выбираете DISTINCT вместо того, чтобы просто выбирать тестируемые? Вы взглянули на план исполнения?

+0

Извините за все вопросы, это был просто быстрый список всех вещей, которые я хотел бы рассмотреть в первую очередь, или которые могут помочь нам устранить эту проблему. –

+0

1 - это разные результаты, как я пытался объяснить, но трудно объяснить. 2 - Я объяснил структуру таблицы выше - она ​​кластеризована и имеет первичный (столбец идентичности) 3 - Как я уже сказал, я знаю, как получить отдельный список идентификаторов из другой таблицы, но это не так, t решить эту проблему 4 - да, мы выполнили план выполнения, всегда то же самое. Чувак, он делает мою голову, это просто нелогично :) – Ian

+0

да сейчас беспокоится обо всех вопросах, они хорошие :) – Ian

Смежные вопросы