powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить mysql запрос
15 сообщений из 15, страница 1 из 1
Помогите составить mysql запрос
    #39681061
nikolaym12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задание:
"Введіть в текстове поле запит, який одночасно зробить вибірку за Прізвищем та підрахує суму покупок за місяць, та середній кошторис за рік."
Начал решать, но не знаю как закончить.
Вот то, что получилось, сейчас:
SELECT SUMM (kost) FROM data WERE `surneme`='Фамилия' AND `month`='August';
Заранее спасибо, всем, кто примет участие.
...
Рейтинг: 0 / 0
Помогите составить mysql запрос
    #39681068
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Сумму покупок за месяц и средний чек за год."
Встречный вопрос - за какой месяц? (Предположим текущего года)
За все?
Тогда вопрос бы стоял в множественном числе.
...
Рейтинг: 0 / 0
Помогите составить mysql запрос
    #39681070
nikolaym12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183,
за текущий месяц (1 месяц), год тоже
...
Рейтинг: 0 / 0
Помогите составить mysql запрос
    #39681078
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе нужен if
Примерно так:
в синтаксисе не уверен
Код: sql
1.
2.
3.
4.
5.
SELECT if(month(data)=month(CURDATE(), SUM(kost),0) as SUM_MES,
       if(year(data)=year(CURDATE(), avg(kost),0) as AVG_GOD,
 FROM table WERE `surneme`='Фамилия'
group by surneme
 
...
Рейтинг: 0 / 0
Помогите составить mysql запрос
    #39681079
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кавычки
Код: sql
1.
2.
3.
4.
5.
SELECT if(month(data)=month(CURDATE()), SUM(kost),0) as SUM_MES,
       if(year(data)=year(CURDATE()), avg(kost),0) as AVG_GOD,
 FROM table WERE `surneme`='Фамилия'
group by surneme
 

[/quot]
...
Рейтинг: 0 / 0
Помогите составить mysql запрос
    #39681086
nikolaym12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183,
Спасибо
...
Рейтинг: 0 / 0
Помогите составить mysql запрос
    #39681111
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка.
Покажет сумму по текущему месяцу за все года.
Надо еще там же фильтр по текущему году.
...
Рейтинг: 0 / 0
Помогите составить mysql запрос
    #39681127
nikolaym12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183,
если, я правильно понял из статьи , из справочника то, фильтр будет в формате
CURDATE() - INTERVAL 1 YEAR;
...
Рейтинг: 0 / 0
Помогите составить mysql запрос
    #39681130
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты определись
"За последний год" или "за текущий год"
...
Рейтинг: 0 / 0
Помогите составить mysql запрос
    #39681132
nikolaym12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183,
текущий
...
Рейтинг: 0 / 0
Помогите составить mysql запрос
    #39681137
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ты от текущей даты отнимешь один год, то явно выйдешь за пределы текущего года.
...
Рейтинг: 0 / 0
Помогите составить mysql запрос
    #39681139
nikolaym12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183,
понял, условие тоже, но без минуса
...
Рейтинг: 0 / 0
Помогите составить mysql запрос
    #39681349
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот теперь не понял я.
...
Рейтинг: 0 / 0
Помогите составить mysql запрос
    #39682217
nikolaym12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183,
Думал что
раз
CURDATE() - INTERVAL 1 YEAR;
делает выборку за прошлый год,
то
CURDATE() INTERVAL 1 YEAR;
сделает выборку за этот год, оказалось убрать минус не решение.
...
Рейтинг: 0 / 0
Помогите составить mysql запрос
    #39682295
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikolaym12CURDATE() - INTERVAL 1 YEAR;
делает выборку за прошлый год,
За последний год.
Точнее - эта формула возвращает дату, отстоящую от текущей на 1 год.

Прошлый год это 2017 т.е year(CURDATE())-1
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить mysql запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]