Здравствуйте, товарищи!
Нужна помощь в составлении запроса. Грубо говоря, есть таблица
users (id, login, account_id, create_date, ...),
accounts (id, ...) и
payments (id, account_id, summ, payment_date).
Нужно получить даты создания пользователей, которые произвели самый первый платёж в указанную дату
Пытаюсь весь вечер написать, думал, что уже получилось, но в итоге выборка неверная. ЧЯДНТ?
SELECT `u`.`login`,
`pt`.`id`,
`pt`.`payment_incurrency`,
FROM_UNIXTIME(`u`.`create_date`) AS `create_date`,
FROM_UNIXTIME(MIN(`pt`.`actual_date`)) AS `payment_date`,
DATEDIFF(
DATE(FROM_UNIXTIME(`pt`.`actual_date`)),
DATE(FROM_UNIXTIME(`u`.`create_date`))
) AS `date_diff`
FROM `payment_transactions` AS `pt`
JOIN `users` AS `u` ON
`u`.`basic_account` = `pt`.`account_id`
WHERE FROM_UNIXTIME(`pt`.`actual_date`) LIKE '2013%' AND
`pt`.`payment_incurrency` > 0
GROUP BY `pt`.`account_id`
ORDER BY `pt`.`actual_date`, `u`.`create_date` DESC;