Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите пожалуста составить запрос 
V
    Опции темы
Antimol
Дата 28.7.2007, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 28.7.2007
Где: Украина, Киев

Репутация: нет
Всего: 4



Только начал работать с SQL Server 2005, и столкнулся с такой проблемой:
Есть таблица с названием A , и с набором полей:
id                int    
Server_Name    nvarchar(50)
start_time    datetime
Start_Count    real        
Average    int    
    
и есть простой запрос, который выбирает из таблицы все ети поля:

Код
select Server_name,start_time,Start_Count,Average from a


Server_Name    start_time    Start_Count       Average
=====================================
server3    2001-01-01    21                2313
server1    2001-02-10    21                321
server2    2001-03-02    22                322
server1    2001-07-02    232                  321
server3    2004-02-02    213                 231
server1    2007-07-05    231                231
server3    2009-07-05    231                321
                   
Нужно, чтобы выбирались записи из неповторяющимися значениями в поле Server_Name.
Пробовал 
Код
select DISTINCT Server_name,start_time,Start_Count,Average from a
 выводит тоже самое. 
Заранее спасибо.
--------------------
Лучшее спасибо это "+" к репутации.   Мой блог: ИНФОРМАТИЗАЦИЯ, и mirsovetov.net. Написание программ, исправление ошибок, статьи....
PM MAIL WWW ICQ   Вверх
Данкинг
Дата 28.7.2007, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



У меня SQL не установлен сейчас, проверить не могу. А нечто подобное прокатит?

Код

select Server_name,start_time,Start_Count,Average from a where select DISTINCT Server_name from a



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
ivashkanet
Дата 28.7.2007, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: нет
Всего: 149



Цитата(Данкинг @  28.7.2007,  16:37 Найти цитируемый пост)
where select DISTINCT Server_name from a

Данкинг, мне кажется выражение у where должно возвращать логическое значение. Хотя с MS SQL сервером давно не работал
Цитата(Antimol @  28.7.2007,  13:38 Найти цитируемый пост)
Пробовал 
Код
select DISTINCT Server_name,start_time,Start_Count,Average from a
 выводит тоже самое. 

Distinct объединяет только полностью идентичные строки.

Цитата(Antimol @  28.7.2007,  13:38 Найти цитируемый пост)
Нужно, чтобы выбирались записи из неповторяющимися значениями в поле Server_Name.

Antimol, возьмем, например, server1. Какая из строк должна выводиться для server1?

Ниже будет выводиться по одной строке для каждого сервера (выбирается запись с наибольшей датой)
Код

SELECT  Server_Name, start_time, Start_Count, Average FROM a as query
WHERE  start_time =  
(SELECT max(start_time) 
    FROM a as subquery 
    WHERE query.Server_Name = Server_Name)



P.S. Не уверен что это лучший вариант, но работает.
PM MAIL WWW ICQ   Вверх
Antimol
Дата 30.7.2007, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 28.7.2007
Где: Украина, Киев

Репутация: нет
Всего: 4



Спасибо все теперь ясно, что и как!!  smile 
PM MAIL WWW ICQ   Вверх
ivashkanet
Дата 31.7.2007, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: нет
Всего: 149



Не за что. Приходите еще ;-)
PM MAIL WWW ICQ   Вверх
Antimol
Дата 31.7.2007, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 28.7.2007
Где: Украина, Киев

Репутация: нет
Всего: 4



ок. Обязательно зайду.  smile 

Это сообщение отредактировал(а) Antimol - 31.7.2007, 11:01
--------------------
Лучшее спасибо это "+" к репутации.   Мой блог: ИНФОРМАТИЗАЦИЯ, и mirsovetov.net. Написание программ, исправление ошибок, статьи....
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0476 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.