none
SQL-запрос RRS feed

  • Вопрос

  • Имеются ежемесячные данные, напр. показания счетчика, (янв, фев и т.д), необходимо сделать выборку из таблицы для расчета затрат за текущий месяц(SQL-запрос). Заранее благодарен
    • Изменено ulcerModerator 21 января 2013 г. 6:07 Лучше обсуждать на форуме.
    19 января 2013 г. 7:45

Ответы

  • Привет.

    Используйте условный оператор WHERE для работы с датой и оператор SUM для подсчета затрат:

    SELECT SUM(order) FROM table_name WHERE OrderDate >= '01/01/2012' AND OrderDate < '02/01/2012'
    
    SELECT SUM(order) FROM table_name WHERE OrderDate BETWEEN '20120101' AND '20120201'


    Также возможно потребуется преобразование типов, например для 1го варианта -

    WHERE Convert(varchar(20), OrderDate, 101) >= '01/01/2012' ...


    Либо наоборот преобразование строки к дате:

    >=convert(datetime,'20120101',112) 


    Подробнее о типах записи даты и конвертации читайте - Функции CAST и CONVERT (Transact-SQL)


    Для связи [mail]


    • Изменено Abolmasov Dmitry 21 января 2013 г. 13:38
    • Помечено в качестве ответа Abolmasov Dmitry 24 января 2013 г. 13:32
    21 января 2013 г. 13:37

Все ответы

  • Не могли бы вы привести структуру таблицы?
    19 января 2013 г. 8:16
    Модератор
  • Привет.

    Используйте условный оператор WHERE для работы с датой и оператор SUM для подсчета затрат:

    SELECT SUM(order) FROM table_name WHERE OrderDate >= '01/01/2012' AND OrderDate < '02/01/2012'
    
    SELECT SUM(order) FROM table_name WHERE OrderDate BETWEEN '20120101' AND '20120201'


    Также возможно потребуется преобразование типов, например для 1го варианта -

    WHERE Convert(varchar(20), OrderDate, 101) >= '01/01/2012' ...


    Либо наоборот преобразование строки к дате:

    >=convert(datetime,'20120101',112) 


    Подробнее о типах записи даты и конвертации читайте - Функции CAST и CONVERT (Transact-SQL)


    Для связи [mail]


    • Изменено Abolmasov Dmitry 21 января 2013 г. 13:38
    • Помечено в качестве ответа Abolmasov Dmitry 24 января 2013 г. 13:32
    21 января 2013 г. 13:37