Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Посчитать кол-во по нескольким условиям в одной таблице  [new]
Ser123
Guest
Здравствуйте

Подскажите, как написать запрос, который бы вычислял кол-во значений по нескольким условиям, например:

есть таблица

ID CODE DATE PRICE
111101.01.2017100
211102.01.2017200
322201.01.2017500
422205.01.2017150
522201.01.2017150


Условие, надо подсчитать кол-во записей в таблице, где "каждая запись удовлетворяла условию" = CODE; >=DATE; >=PRICE
т.е. чтобы по первой записи посчитать кол-во в таблице выходя из того, что CODE = 111, DATE>=01.01.2017, PRICE>=100 и получим 2 и так по каждой записи.

итоговая таблица будет:

ID CODE DATE PRICE COUNT
111101.01.20171002
211102.01.20172001
322201.01.20175001
422205.01.20171501
522201.01.20171503


Я уже как только не крутил, ничего не смог придумать, поделитесь соображениями, пожалуйста.
7 янв 18, 02:43    [21085468]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать кол-во по нескольким условиям в одной таблице  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36980
select
  a.*
  , [count] = ( select count(*) from  [есть таблица] x where x.code = a.code and x.date >= a.date and x.price >= a.price )
from [есть таблица] a
7 янв 18, 02:49    [21085474]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать кол-во по нескольким условиям в одной таблице  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20536
SELECT SUM(CASE WHEN 'условие' THEN 1 
                ELSE                0 END) AS Count_условие
7 янв 18, 11:21    [21085638]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить