Topic: даты выплат

есть история операций с 2 полями (дата и сумма)
Как вывести только за определённый месяц сумму? Допустим только за май, 2019 года?

Re: даты выплат

Можно стандартными средствами, не прибегая к скрипту или SQL запросу.


Используйте кнопку с действием Поиск, для колонки с Суммой включите Футер с подсчетом суммы для данной колонки. Расположите также компонент DateTimePicker, установите свойство Kind = MonthYear, выбрав месяц и год, в футере вы увидете сумму.

Dmitry.

Re: даты выплат

А если через вычисляемое поле?  что нужно добавить в
(SELECT IFNULL(SUM(revenue.выручка), 0)
FROM revenue           
WHERE revenue.id_event=event.id
AND revenue.выручка > 0)
Чо бы была сортировка по data_revenue ?

Re: даты выплат

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

Dmitry.

Re: даты выплат

Да, у меня допустим есть данные которые идут в течении года. И я хотел бы свести их и видеть в таблгриде все выручки отдельно за май, июнь, июль, август... Для этого интнресно узнать как вытащить их только за определенный месяц

Re: даты выплат

agatlogic101 wrote:

Да, у меня допустим есть данные которые идут в течении года. И я хотел бы свести их и видеть в таблгриде все выручки отдельно за май, июнь, июль, август... Для этого интнресно узнать как вытащить их только за определенный месяц

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

Post's attachments

Attachment icon Group by month.zip 4.28 kb, 228 downloads since 2019-11-12 

Dmitry.

Re: даты выплат

Всё время забываю указать что у меня MySQL...
Что тут поправить нужно? Я так понимаю вместо
strftime("%Y-%m", DateField)  нужно что то, типа
(DATE_FORMAT(DateField, "%Y-%m")?

select 
strftime("%m-%Y", DateField),
TOTAL(amount)
from operations 

WHERE 
(CASE WHEN {dtFrom} IS NOT NULL THEN strftime("%Y-%m", DateField) >= strftime("%Y-%m", {dtFrom}) ELSE 1=1 END) AND
(CASE WHEN {dtTo} IS NOT NULL THEN strftime("%Y-%m", DateField) <= strftime("%Y-%m", {dtTo}) ELSE 1=1 END)
                                                                                             

group by strftime("%m-%Y", DateField)   

Re: даты выплат

Да.

Dmitry.