Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
3 / 3 / 0
Регистрация: 04.12.2009
Сообщений: 29

sql запрос

12.01.2010, 18:22. Показов 2119. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите плз если ето возможно написать запрос.
Дана таблица без primery key.
Такие столбцы (код доумента, код товара, количество, цена)
Как можна вывести Top 10 товара количество которого больше всего?
Тоесть нужно сумировать количество с одинаковым кодом товара и вывести
тока 10 с наибольшым количеством.

Добавлено через 5 часов 44 минуты
Если такой запрос написать нереально то подскажите как можна зделать тоже самое
в с# имеея bindingsource даной таблици или как-то через datagridview.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.01.2010, 18:22
Ответы с готовыми решениями:

SQL Запрос?
Здравсвуйте друзья. Программа пинга компов по сети. Пропинговав прога заносит данные в таблицу history_ping. Мне нужно, чтоб я мог...

Запрос SQL
Подскажите, как запрос в таком случии сделать. В названии столбцов DataGridView писать дни месяця и если можна дни недели при выборе месяца...

Sql запрос в C# к БД
Доброго дня форумчане. Возник вопрос, который не могу решить. Имеется 3 таблицы В таблице Раб_место_сотрудник происходит связывание...

7
101 / 101 / 19
Регистрация: 29.12.2009
Сообщений: 204
12.01.2010, 19:07
как-то так:
SQL
1
2
3
SELECT `код_товара`, SUM(`количество`) AS Summ FROM `таблица`
GROUP BY `код_товара`
ORDER BY Summ DESC LIMIT 10
1
3 / 3 / 0
Регистрация: 04.12.2009
Сообщений: 29
12.01.2010, 20:50  [ТС]
Спасиба работает тока limit 10 не хочет
Но ето уже не проблема.
0
101 / 101 / 19
Регистрация: 29.12.2009
Сообщений: 204
12.01.2010, 21:13
ну может и не работает - я в mysql проверял..)
попробуй так: LIMIT (10)
либо: SELECT TOP(10) ... но уже без LIMIT
1
3 / 3 / 0
Регистрация: 04.12.2009
Сообщений: 29
13.01.2010, 20:29  [ТС]
спасиба select top(10) подходит
0
 Аватар для Ex_Soft
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
14.01.2010, 00:37
Цитата Сообщение от Andrey&K Посмотреть сообщение
select top(10) подходит
Насколько я понял Вашу постановку задачи:
Цитата Сообщение от Andrey&K Посмотреть сообщение
Как можна вывести Top 10 товара количество которого больше всего?
Вас не спасает. Поясню на пальцах. Допустим, у Вас на складе:
  1. Игрушка "Дед Мороз" - 300 шт.
  2. Ель живая - 300 шт.
  3. Гирлянда елочная - 50 шт.
И Вам необходимо выбрать TOP(1). TOP(1)=300. Соответственно в результате выборки Вы должны получить:
  1. Игрушка "Дед Мороз" - 300 шт.
  2. Ель живая - 300 шт.
т.е. - 2-ве записи. Если же Вы заюзаете TOP(1), то получите только одну запись, к примеру:
  1. Игрушка "Дед Мороз" - 300 шт.
Вроде - мелочь. Но если Вы дадите такой ответ по состоянию на 31-е декабря, то 1-го января Вас заставят выкупить все, не попавшие в выборку, и, как следствие, - нереализованные 300 елочек прямо со склада. Навскидку это должно выглядеть приблизительно так:
SQL
1
2
3
4
5
6
7
8
9
10
SELECT
  T1.ID,
  SUM(T1.CNT)
FROM
  TOV T1
GROUP BY
  T1.ID
HAVING
  SUM(T1.CNT) IN
  (SELECT FIRST 10 DISTINCT SUM(T2.CNT) FROM TOV T2 GROUP BY T2.ID ORDER BY 1 DESC)
(Проверено: FB-2.1.3.18185)

Для Вашего же, предположительно, согласно TOP, M$ SQL должно выглядеть приблизительно так:
SQL
1
2
3
4
5
6
7
8
9
10
SELECT
  T1.ID,
  SUM(T1.CNT)
FROM
  TOV T1
GROUP BY
  T1.ID
HAVING
  SUM(T1.CNT) IN
  (SELECT DISTINCT top(10) SUM(T2.CNT) FROM TOV T2 GROUP BY T2.ID ORDER BY 1 DESC)
Правда - не уверен, что он такое осилит.
Цитата Сообщение от select @@version
Adaptive Server Enterprise/15.0.2/EBF 14332/P/NT (IX86)/Windows 2000/ase1502/2486/32-bit/OPT/Thu May 24 04:10:36 2007
SQL
1
2
3
4
5
6
7
8
9
10
SELECT
  T1.ID,
  SUM(T1.CNT)
FROM
  TOV T1
GROUP BY
  T1.ID
HAVING
  SUM(T1.CNT) IN
  (SELECT DISTINCT top 10 SUM(T2.CNT) FROM TOV T2 GROUP BY T2.ID ORDER BY 1 DESC)
и
Your MySQL connection id is 11
Server version: 5.1.41 Source distribution
SQL
1
2
3
4
5
6
7
8
9
10
SELECT
  T1.ID,
  SUM(T1.CNT)
FROM
  tov T1
GROUP BY
  T1.ID
HAVING
  SUM(T1.CNT) IN
  (SELECT DISTINCT SUM(T2.CNT) FROM tov T2 GROUP BY T2.ID ORDER BY 1 DESC LIMIT 10)
такое не сдюжили...
1
3 / 3 / 0
Регистрация: 04.12.2009
Сообщений: 29
14.01.2010, 22:05  [ТС]
Спасиба, над таким нюансом не задумывался.
0
 Аватар для Ex_Soft
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
15.01.2010, 00:38
В общем всемирный разум подсказал:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
  t1.id,
  t1.cnt
FROM
  (SELECT id, SUM(cnt) AS cnt FROM tov GROUP BY id) t1
  JOIN (SELECT id, SUM(cnt) AS cnt FROM tov GROUP BY id) t2 ON t1.cnt<=t2.cnt
GROUP BY
  t1.id,
  t1.cnt
HAVING
  COUNT(DISTINCT t2.cnt)<=10
ORDER BY
  COUNT(DISTINCT t2.id), id
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.01.2010, 00:38
Помогаю со студенческими работами здесь

SQL запрос LIKE
Мне нужно вывести в DataGridView те строки, где название дисциплины = определённому значению, например Name = &quot;Русский_язык&quot; ...

SQL запрос в С#
Здравствуйте) Нужно сосчитать количество строк совпадений с тем, что я ввожу в textBox1. Запрос я написала, запускаю никаких ошибок не...

SQL запрос
UPDATE Ank_data_women SET Family = N'1', Name = N'1', Surname = N'1', Date_birth = '1', Phone_number = N'1',...

SQL запрос
Добрый день. Нужно удалить записи если в поле data_f (строковая данyые даты в формате &quot;21.10.2010 14:51:22&quot;), удалить например...

Sql Запрос
Напечатать названия должностей, которые повторяются среди работающих сотрудников Объект - Сотрудники, Артибуты - (номер, фамилия, имя,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru