@shuhratjon
Программист разработчик.

Как объединить эти sql запросы?

Запросы которые нужно объединить:
select SUM(sum) AS "monthsum" from bills where YEAR(`date`) = YEAR(NOW()) AND MONTH(`date`) = MONTH(NOW())

select SUM(sum) AS "weeksum" from bills where YEAR(`date`) = YEAR(NOW()) AND WEEK(`date`, 1) = WEEK(NOW(), 1)

select SUM(sum) AS "daysum" from bills where DATE_FORMAT(date, "%Y-%m-%d") = CURDATE()


Нужно объединить их по правилам sql запросов чтобы запрос был легким.
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
@SharuPoNemnogu
не язык плохой, программисты такие...
примерно так.
SELECT SUM(CASE WHEN MONTH('date') = MONTH(NOW()) THEN sum END) AS 'monthsum',
       SUM(CASE WHEN WEEK('date', 1) = WEEK(NOW(), 1) THEN sum END) AS 'weeksum',
       SUM(CASE WHEN DATE_FORMAT(date, '%Y-%m-%d') = CURDATE() THEN sum END) AS 'daysum'
FROM bills
WHERE YEAR('date') = YEAR(NOW());

p.s. не советую называть поля зарезервированными именами
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы