Страница 1 из 2

mysql запрос как указать условие за текущий месяц

Добавлено: 06 мар 2023, 10:46
SalahievFR
Здравствуйте, в mysql запрос как указать условие, чтобы записи сущности считать по датам создания так, чтобы выводились только записи за текущий месяц.
Имею в иду, что можно вывести записи сущности за текущий день, указав в условия [TODAY], есть ли возможность создать условие, чтобы получить записи, созданные в текущем месяце. ?

Re: mysql запрос как указать условие за текущий месяц

Добавлено: 06 мар 2023, 11:26
believe
Попробуйте так

Код: Выделить всё

SELECT * FROM app_entity_X WHERE DATE_FORMAT(FROM_UNIXTIME(date_added), '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m')

Re: mysql запрос как указать условие за текущий месяц

Добавлено: 06 мар 2023, 11:31
SalahievFR
Ошибка.

Код: Выделить всё

Database Error: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT * FROM app_entity_X WHERE DATE_FORMAT(FROM_UNIXTIME(date_added), '%Y-%...' at line 1
Query: select e.* ,IFNULL((select COUNT(*) from app_entity_28 msq where (select fcv.value from app_global_lists_choices fcv where fcv.lists_id =1 and fcv.id = msq.field_261)!=9 limit 1),0) as field_548,IFNULL((select SUM((msq.field_264+0)) from app_entity_28 msq where (select fcv.value from app_global_lists_choices fcv where fcv.lists_id =1 and fcv.id = msq.field_261)!=9 limit 1),0) as field_550,IFNULL((select COUNT(*) from app_entity_28 msq where (select fcv.value from app_global_lists_choices fcv where fcv.lists_id =1 and fcv.id = msq.field_261)=2 limit 1),0) as field_551,IFNULL((select COUNT((msq.field_291+0)) from app_entity_28 msq where msq.field_292=1678050000 limit 1),0) as field_552,IFNULL((select SUM((msq.field_291+0)) from app_entity_28 msq where msq.field_292=1678050000 limit 1),0) as field_553,IFNULL((select SUM(((msq.field_291+0)-(IFNULL( (select SUM(func100.field_325+0) from app_entity_33 func100 where func100.id>0 and func100.parent_item_id=msq.id ) ,0))-(msq.field_264+0))) from app_entity_28 msq where msq.field_292=1678050000 limit 1),0) as field_554,IFNULL((select COUNT((msq.field_291+0)) from app_entity_28 msq where SELECT * FROM app_entity_X WHERE DATE_FORMAT(FROM_UNIXTIME(date_added), '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m') limit 1),0) as field_587 from app_entity_1 e where e.id='3' and e.field_5=1
Page: /index.php?module=dashboard/dashboard
#0 includes/functions/database.php(87): mysqli_query(Object(mysqli), 'select e.* ,IFN...')
#1 includes/classes/pages/dashboard_pages.php(56): db_query('select e.* ,IFN...')
#2 modules/dashboard/views/dashboard.php(10): dashboard_pages->render_info_blocks()
#3 template/layout.php(155): require('/home/c70384/li...')
#4 index.php(32): require('/home/c70384/li...')
#5 {main}

Re: mysql запрос как указать условие за текущий месяц

Добавлено: 06 мар 2023, 11:45
believe
app_entity_X-ваша сущность.

Re: mysql запрос как указать условие за текущий месяц

Добавлено: 06 мар 2023, 11:59
SalahievFR
Я прошу прощения. Не удалось. Где-то я допускаю ошибку.

Код: Выделить всё

Database Error: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT * FROM app_entity_28 WHERE DATE_FORMAT(FROM_UNIXTIME(date_added), '%Y-...' at line 1
Query: select e.* ,IFNULL((select COUNT(*) from app_entity_28 msq where (select fcv.value from app_global_lists_choices fcv where fcv.lists_id =1 and fcv.id = msq.field_261)!=9 limit 1),0) as field_548,IFNULL((select SUM((msq.field_264+0)) from app_entity_28 msq where (select fcv.value from app_global_lists_choices fcv where fcv.lists_id =1 and fcv.id = msq.field_261)!=9 limit 1),0) as field_550,IFNULL((select COUNT(*) from app_entity_28 msq where (select fcv.value from app_global_lists_choices fcv where fcv.lists_id =1 and fcv.id = msq.field_261)=2 limit 1),0) as field_551,IFNULL((select COUNT((msq.field_291+0)) from app_entity_28 msq where msq.field_292=1678050000 limit 1),0) as field_552,IFNULL((select SUM((msq.field_291+0)) from app_entity_28 msq where msq.field_292=1678050000 limit 1),0) as field_553,IFNULL((select SUM(((msq.field_291+0)-(IFNULL( (select SUM(func100.field_325+0) from app_entity_33 func100 where func100.id>0 and func100.parent_item_id=msq.id ) ,0))-(msq.field_264+0))) from app_entity_28 msq where msq.field_292=1678050000 limit 1),0) as field_554,IFNULL((select COUNT((msq.field_291+0)) from app_entity_28 msq where SELECT * FROM app_entity_28 WHERE DATE_FORMAT(FROM_UNIXTIME(date_added), '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m') limit 1),0) as field_587 from app_entity_1 e where e.id='3' and e.field_5=1
Page: /index.php?module=dashboard/dashboard
#0 includes/functions/database.php(87): mysqli_query(Object(mysqli), 'select e.* ,IFN...')
#1 includes/classes/pages/dashboard_pages.php(56): db_query('select e.* ,IFN...')
#2 modules/dashboard/views/dashboard.php(10): dashboard_pages->render_info_blocks()
#3 template/layout.php(155): require('/home/c70384/li...')
#4 index.php(32): require('/home/c70384/li...')
#5 {main}

Re: mysql запрос как указать условие за текущий месяц

Добавлено: 06 мар 2023, 12:57
believe
Так вам что нужно вывести? Количество записей за текущий месяц?
Этот пример для mysql поля, не запроса.

Re: mysql запрос как указать условие за текущий месяц

Добавлено: 06 мар 2023, 15:10
SalahievFR
Да, нужно количество записей за месяц.

Re: mysql запрос как указать условие за текущий месяц

Добавлено: 06 мар 2023, 15:13
SalahievFR
Я вот так через эти поля вывел на главную страницу информацию, использовал [TODAY], далее хотел вывести продажи за месяц. И не смог указать условия вывода за месяц.

Re: mysql запрос как указать условие за текущий месяц

Добавлено: 06 мар 2023, 15:20
believe
сделайте демо. И пришлите в лс.
так будет нагляднее.

Re: mysql запрос как указать условие за текущий месяц

Добавлено: 08 мар 2023, 10:23
SalahievFR
Вот так сработало. Кому полезно пользуйтесь.

Код: Выделить всё

MONTH(FROM_UNIXTIME([292])) = MONTH(CURDATE())