Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Прошу помощи с запросами. / 7 сообщений из 7, страница 1 из 1
07.11.2018, 20:25
    #39729565
qwerartem
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу помощи с запросами.
1. Выбрать 3 пункта, в которых было принято больше всего заказов в октябре 18 года
2. Выбрать клиентов, которые в 18 году ничего не отправляли( не было заказов)

1. Как выбрать именно 3 пункта? как их сравнить между собой? Я могу только посчитать количество заказов в данный месяц у конкретного пункта таким запросом

Код: sql
1.
2.
select COUNT(*) FROM dbo.condition WHERE (datepart(year,datecondition)=2018 AND       
datepart(month,datecondition)=10) AND codpribytiya = 1 and codpunkta = 1



2. Я выбираю клиентов которые делали заказы в любой год помимо 18, но это не исключает того, что они могли сделать несколько заказов, допустим, в 17 и в 18, и у меня он выведет данного клиента, хотя он делал заказ в 18 году.
Код: sql
1.
2.
3.
SELECT * FROM clients WHERE codclient IN 
( SELECT codclient FROM dbo.offer WHERE offernumber NOT IN 
(SELECT offernumber FROM dbo.condition WHERE  (datepart(year,datecondition)=2018 )))
...
Рейтинг: 0 / 0
07.11.2018, 21:32
    #39729589
PizzaPizza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу помощи с запросами.
qwerartem,

Нужно сначала получить количество заказов в по каждому пункту, например с помощью группировки, потом отсортировать количества по убыванию и выбрать топ 3.

И не насилуйте сервер такими вещами
Код: sql
1.
datepart(year,datecondition)=2018


сделайте datecondition >= начало года в формате вашего datecondition.
...
Рейтинг: 0 / 0
07.11.2018, 22:24
    #39729602
londinium
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу помощи с запросами.
qwerartem,
авторКак выбрать именно 3 пункта? как их сравнить между собой? Я могу только посчитать количество заказов в данный месяц у конкретного пункта таким запросом

select COUNT(*) FROM dbo.condition WHERE (datepart(year,datecondition)=2018 AND
datepart(month,datecondition)=10) AND codpribytiya = 1 and codpunkta = 1


попробуйте как-то так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
WITH CTE AS
(
  SELECT C.CODPUNKTA,COUNT(*)CNTT FROM dbo.condition C
   WHERE CAST(C.datecondition AS DATE)>='20181001' 
     AND CAST(C.datecondition AS DATE)<'20181101'
   GROUP BY C.CODPUNKTA
)
SELECT TOP 3 CT.CODPUNKTA,CT.CNTT
 FROM CTE AS CT
  ORDER BY C.CNTT DESC
...
Рейтинг: 0 / 0
08.11.2018, 09:18
    #39729757
Cristiano_Rivaldo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу помощи с запросами.
1.
Код: sql
1.
2.
3.
4.
5.
SELECT TOP 3 C.CODPUNKTA,COUNT(*)CNTT FROM dbo.condition C
   WHERE CAST(C.datecondition AS DATE)>='20181001' 
     AND CAST(C.datecondition AS DATE)<'20181101'
   GROUP BY C.CODPUNKTA
 ORDER BY 2 DESC


2.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT * 
FROM clients CL
WHERE NOT EXISTS
 (
SELECT NULL
FROM dbo.offer ff INNER JOIN dbo.condition cn ON FF.offernumber = CN.offernumber
WHERE FF.codclient  = CL.codclient 
 AND datepart(year,CN.datecondition)=2018
)
...
Рейтинг: 0 / 0
10.11.2018, 15:44
    #39731073
qwerartem
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу помощи с запросами.
Cristiano_Rivaldo, большое спасибо! помогли очень сильно. Можете дать какой-нибудь свой контакт, хотелось бы вознаграждать вас, если бы вы могли дальше подсказывать с запросами?
...
Рейтинг: 0 / 0
10.11.2018, 18:10
    #39731105
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу помощи с запросами.
Модератор: Ответы за вознаграждение вот тут: http://www.sql.ru/forum/job
...
Рейтинг: 0 / 0
12.11.2018, 17:39
    #39731941
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу помощи с запросами.
Гавриленко Сергей АлексеевичМодератор: Ответы за вознаграждение вот тут: https://www.sql.ru/forum/job

Модератор: Lepsik, прекращайте шутковать.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Прошу помощи с запросами. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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