Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Eilede
0 / 0 / 0
Регистрация: 25.07.2008
Сообщений: 24
1

Прошу помощи в написании запроса.

09.11.2006, 17:07. Просмотров 2423. Ответов 5
Метки нет (Все метки)

Нужно написать запрос, результатом которого будет выборка уникальных значений "Поле1" да так, что среди равных будут выбраны строки с наибольшим значением в "Поле2".

Данные такого плана:

Поле1 Поле2 Поле3
(int) (Data) (int)
_____________________
1 3/05/06 2
1 2/05/06 27
1 1/05/06 60
2 8/05/06 3
2 6/05/06 10
2 5/05/06 32
2 1/05/06 32
3 8/05/06 18
3 3/05/06 2
_____________________
Нужно получить:

Поле1 Поле2 Поле3
(int) (Data) (int)
_____________________
1 3/05/06 2
2 8/05/06 3
3 8/05/06 18
_____________________
Всю голову уже сломала. Может все проще чем я думаю?
Вобщем, прошу помощи.

0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2006, 17:07
Ответы с готовыми решениями:

Прошу помощи в написании запроса
Собственно такая задача: Пишу курсовую. программа для вступительной комиссии в ВУЗах. Проблемма...

Нуждаюсь в подсказки в написании запроса
Всем доброго вечера. Подскажите, есть ли возможность сделать summ = (zprev+ zper+rezyltat)/3. В...

Написании сложного запроса для копирования данных из табл1 в табл2 с изменением
Добрый день. Есть БД на MSSQL 2005. Существует две таблицы: Contacts: ID ...

Вставка данных из Excel в SQL. При помощи запроса SQL....
Доброго времени суток. Не могли бы Вы мне помочь с SQL запросом, которй вставлял бы весь лист в ...

Прошу помощи в написании 4 простеньких (учебных) отчетов
Форумчане! Прошу помощи в написании 4 простеньких (учебных) отчетов (запросов, для реализации...

5
Alexey Spirin
1 / 1 / 1
Регистрация: 18.10.2007
Сообщений: 1,750
09.11.2006, 17:16 2
Ну например так... хотя есть еще несколько вариантов. Кроме того, у ва сничего не сказано про поле 3, что делать, если, например, есть две записи с одинаковыми первым и вторым полем?</P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New' mso-no-proof: yes SELECT</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes <FONT color=#000000> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes <FONT color=#000000><SPAN style="mso-tab-count: 1 </SPAN>fld1<SPAN style="COLOR: gray ,</SPAN><FONT color=#000000> <o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes <SPAN style="mso-tab-count: 1 <FONT color=#000000> </SPAN><SPAN style="COLOR: fuchsia max</SPAN><SPAN style="COLOR: gray (</SPAN><FONT color=#000000>fld2<SPAN style="COLOR: gray ),</SPAN><FONT color=#000000> <o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes <SPAN style="mso-tab-count: 1 <FONT color=#000000> </SPAN><SPAN style="COLOR: gray (</SPAN><SPAN style="COLOR: blue SELECT</SPAN><FONT color=#000000> <SPAN style="COLOR: blue TOP</SPAN><FONT color=#000000> 1 fld3 <o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes <SPAN style="mso-tab-count: 1 <FONT color=#000000> </SPAN><SPAN style="COLOR: blue FROM</SPAN><FONT color=#000000> aaa a2 <o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes <SPAN style="mso-tab-count: 1 <FONT color=#000000> </SPAN><SPAN style="COLOR: blue WHERE</SPAN><FONT color=#000000> <o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes <FONT color=#000000><SPAN style="mso-tab-count: 2 </SPAN>a1<SPAN style="COLOR: gray .</SPAN><FONT color=#000000>fld1<SPAN style="COLOR: gray =</SPAN><FONT color=#000000>a2<SPAN style="COLOR: gray .</SPAN><FONT color=#000000>fld1 <SPAN style="COLOR: gray AND</SPAN><FONT color=#000000> <o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes <SPAN style="mso-tab-count: 2 <FONT color=#000000> </SPAN><SPAN style="COLOR: fuchsia Max</SPAN><SPAN style="COLOR: gray (</SPAN><FONT color=#000000>a1<SPAN style="COLOR: gray .</SPAN><FONT color=#000000>fld2<SPAN style="COLOR: gray )=</SPAN><FONT color=#000000>a2<SPAN style="COLOR: gray .</SPAN><FONT color=#000000>fld2<SPAN style="COLOR: gray )<o></o></SPAN></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Cou
0
Eilede
0 / 0 / 0
Регистрация: 25.07.2008
Сообщений: 24
09.11.2006, 17:22  [ТС] 3
Первые 2 поля определяют уникальность записи. Фактически, это составной ключ.
0
Alexey Spirin
1 / 1 / 1
Регистрация: 18.10.2007
Сообщений: 1,750
09.11.2006, 17:24 4
Вот еще как вариант:</P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN lang=EN-US style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New' mso-no-proof: yes; mso-ansi-language: EN-US SELECT</SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes; mso-ansi-language: EN-US <FONT color=#000000> a2<SPAN style="COLOR: gray .*</SPAN><FONT color=#000000> </SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN lang=EN-US style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New' mso-no-proof: yes; mso-ansi-language: EN-US FROM<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN lang=EN-US style="FONT-SIZE: 10pt; COLOR: gray; FONT-FAMILY: 'Courier New' mso-no-proof: yes; mso-ansi-language: EN-US (<o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes; mso-ansi-language: EN-US <SPAN style="mso-tab-count: 1 <FONT color=#000000> </SPAN><SPAN style="COLOR: blue SELECT</SPAN><FONT color=#000000> <o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes; mso-ansi-language: EN-US <FONT color=#000000><SPAN style="mso-tab-count: 2 </SPAN>fld1<SPAN style="COLOR: gray ,</SPAN><FONT color=#000000> <o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes; mso-ansi-language: EN-US <SPAN style="mso-tab-count: 2 <FONT color=#000000> </SPAN><SPAN style="COLOR: fuchsia max</SPAN><SPAN style="COLOR: gray (</SPAN><FONT color=#000000>fld2<SPAN style="COLOR: gray )</SPAN><FONT color=#000000><SPAN style="mso-spacerun: yes </SPAN>fld2<o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes; mso-ansi-language: EN-US <SPAN style="mso-tab-count: 1 <FONT color=#000000> </SPAN><SPAN style="COLOR: blue FROM</SPAN><FONT color=#000000> aaa<o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes; mso-ansi-language: EN-US <SPAN style="mso-tab-count: 1 <FONT color=#000000> </SPAN><SPAN style="COLOR: blue GROUP</SPAN><FONT color=#000000> <SPAN style="COLOR: blue BY</SPAN><FONT color=#000000> fld1<o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN style="FONT-SIZE: 10pt; COLOR: gray; FONT-FAMILY: 'Courier New' mso-no-proof: yes )</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes <FONT color=#000000> a1<o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none <SPAN style="FONT-SIZE: 10pt; COLOR: gray; FONT-FAMILY: 'Courier New' mso-no-proof: yes INNER</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New' mso-no-proof: yes <FONT color=#000000> <SPAN style="COLOR: gray JOIN</SPAN><FONT color=#000000> aaa a
0
Alexey Spirin
1 / 1 / 1
Регистрация: 18.10.2007
Сообщений: 1,750
09.11.2006, 17:29 5
Ну тогда Вам решать какой будете использовать.
От себя могу сказать, что я бы использовал второй.
0
Eilede
0 / 0 / 0
Регистрация: 25.07.2008
Сообщений: 24
09.11.2006, 17:44  [ТС] 6
Супер! Спасибо Второй самое то
Меня явно не в ту сторону унесло, я зачем то с distinct-ом делала выборку по первому полю и у меня как раз не то что надо попадало .
0
09.11.2006, 17:44
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2006, 17:44

Прошу помощи в переделке/написании софта под ATtiny13
Всем доброго времени суток. К сожалению я абсолютный ноль в микроконтроллерах, поэтому набрался...

Абрамов № 61, 85, 334(а), 374, 67(б,а). Прошу помочь, мне нужны эти задания для зачета прошу помощи.
Прошу помощи, скачайте файл Абрамов (пожалуйста), номер 61, 85, 334(а), 374, 67(а,б). Помочите чем...

Прошу помочь в написании программы
В строке из 40 символов, введенной с клавиатуры и содержащей в качестве разделителя слов &quot;+&quot;, а в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.