У меня есть следующий фрагмент кода:created_at проблемы дата синтаксиса
humans = user.humans.joins(:human_logins).where(human_logins_count: 10).group('humans.id').having('MAX(human_logins.created_at) >= ?', Date.today() - schedule.value.day)
Проблема с этим является created_at) >= ?
сегмент, как будто моя дата равна 7 дней назад, он будет найти записи, которые были сделаны в последние 7 дней, в отличие от поиска записей, которые были созданы буквально 7 дней назад, а не 6, а не 9, ровно 7 дней назад.
Как я могу сделать так, чтобы его поисковые записи были созданы ровно 7 дней назад? Я думал использовать что-то вроде ("? <= created_at AND created_at <= ?", schedule.value.days.ago.beginning_of_day, schedule.value.days.ago.end_of_day)
, но я не уверен, как использовать его в этом сценарии.
ActiveRecord :: StatementInvalid: PG :: GroupingError: ОШИБКА: колонка "human_logins.created_at" должен появиться в GROUP BY оговорки или использоваться в совокупности function LINE 1: ... human_logins_count "= 5 GROUP BY people.id HAVING human_logi ... –
checkout обновленный ответ –
ActiveRecord :: StatementInvalid: PG :: GroupingError: ERROR: столбец« people.id »должен появиться в GROUP BY или использоваться в совокупной функции LINE 1: SELECT «люди». * FROM «people» INNER JOIN «human_logins» ON ... –