2011-01-25 4 views
3

я следующий запросMySQL проблема запрос WHERE дата <

SELECT *, count(jx_commissions.commission_amount) AS summe 
FROM jx_members 
INNER JOIN jx_commissions ON jx_commissions.mid = jx_members.mid 
WHERE jx_commissions.date > '2011-01-01' 
GROUP BY jx_commissions.mid 
ORDER BY summe DESC 
LIMIT 1, 20 

поле Дата имеют формат даты и все даты имеют правильный формат YMD

, но если я использую этот запрос я не получаю никаких результатов ... если я меняю дату на более строгий, я получаю неправильные результаты ... я думаю, что он сравнивает строку ... но как я могу найти дату ??

enter image description here

enter image description here

+0

Выглядит хорошо - если 'date' это поле даты, это будет делать сравнение дат. Можете ли вы показать, какие неправильные результаты вы получаете? –

+0

если я использую дату с 2010-09-01, я получаю reuslt также с 2010-08-xx, возможно, даже ниже ... –

+0

проблема была LIMIT 1,20 ... у меня был только один результат .. поэтому я должен использовать 0, 20 ... –

ответ

2

Если jx_commissions.date это поле даты вы можете просто сделать условное как jx_commissions.date > DATE('2011-01-01')

+0

не работает :( –

+0

Я просто сделал это в своей БД. Что именно вы пытаетесь? Я думаю, что вы можете что-то сделать не так. –

+0

Я пытаюсь выполнить запрос все записи после этой даты ... больше не имеют понятия ... –

0

Попробуйте использовать функцию STR_TO_DATE, чтобы преобразовать столбец в настоящий момент.

SELECT *, count(jx_commissions.commission_amount) AS summe 
FROM jx_members 
INNER JOIN jx_commissions ON jx_commissions.mid = jx_members.mid 
WHERE STR_TO_DATE(jx_commissions.date, '%Y-%m-%d') > '2011-01-01' 
GROUP BY jx_commissions.mid 
ORDER BY summe DESC 
LIMIT 1, 20 
+0

результат пуст .... столбец истинная дата :( –

Смежные вопросы