Имам проблеми с моята SQL заявка. Имам следната Orders
таблица
id
order_number_for_user
user_id
date
Искам да избера най-новата поръчка за потребител на определена дата (2015-01-19). Ето някои примерни данни
id| order_number_for_user | user_id | created
-------+---------------+---------+---------------
1 | 1 | 10 | 2015-01-19
2 | 2 | 10 | 2015-01-19
3 | 1 | 20 | 2015-01-19
4 | 1 | 30 | 2015-01-19
5 | 1 | 40 | 2015-01-19
6 | 2 | 40 | 2015-02-30
Правилният изход е следният идентификатор на ред 2,3,4,5
Ето повредената заявка, която създадох
SELECT id FROM orders WHERE order_number_for_user =
(SELECT max(order_number_for_user) FROM orders as orders2
WHERE orders.user_id=orders2.user_id
AND date(created) = date('2015-01-19'))
Редовете, избрани от тази заявка, са 1,2,3,4,5
. Ред 1 не трябва да се избира, тъй като не е максималния номер на поръчка за потребител 10 за посочената дата.
Може ли някой да ми каже защо запитването ми е неправилно?