@generation

Как выбрать данные за два периода?

Добрый день, можно ли как-то выбрать данные за два периода по столбцу?

Вот у меня есть такой запрос

"SELECT store.name,SUM(data.total) as summ,data.storeID from store, data WHERE store.storeID = data.storeID and MONTH(`date`) = MONTH(DATE_ADD(NOW(), INTERVAL -1 MONTH)) and YEAR(`date`) = YEAR(DATE_ADD(NOW(), INTERVAL -1 MONTH)) group by storeID order by summ DESC";


Мне нужно получить массив:

array {
[name] => name
[summ] => 1 Первый период
[summ2]=> 2 Второй период
}
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 2
thewind
@thewind
php программист, front / backend developer
Добавьте условия периодов из where в список выбираемых полей в стиле if (period1, 1, 2) as period

И потом в конце group by storeId, period
Ответ написан
Комментировать
@Akina
Сетевой и системный админ, SQL-программист.
SELECT name,
       SUM(CASE WHEN {date in period 1} 
                THEN value 
                ELSE 0 
                END) AS sum_1,
       SUM(CASE WHEN {date in period 2} 
                THEN value 
                ELSE 0 
                END) AS sum_2
FROM table
WHERE {date in period 1 or 2}
GROUP BY name
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект