У меня есть две таблицы, mytableA и mytableB.Mysql: используя max (date), чтобы захватить только самые последние строки
MytableA выглядит следующим образом
ColumnA|Columnb
Apple|fruitstand
Pear|fruitstand
mytableB выглядит следующим образом:
ColumnA|ColumnB|ColumnC Apple|2|4/1/2012 Apple|3|4/3/2012 Apple|23|12/1/2011 Pear|1|12/22/2011 Pear|0|4/22/2012
запрос у меня есть это
select *
from
mytableB
join mytableB on mytableA.ColumnA = mytableB.ColumA
and mytableB.Columnc = (select max(Columnc) from mytableB b where b.ColumnA = mytableB.columnA)
В результате я смотрю на это
Apple|3|4/3/2012 Pear|0|4/22/2012
Я знаю, что это работает в SQL, но имеет ли mysql аналогичный путь?
Вы сделали опечатку в запросе, когда вы переименовали некоторые из таблиц/столбцов? Это не похоже на то, что 'myTableB.ColumnB' имеет какие-либо отношения с' myTableA.ColumnA' (из вашего соединения) – Tung
Майк, я думаю, что ваш запрос по-прежнему не отредактирован правильно. Вы в настоящее время присоединяетесь к 'myTableB' с' myTableB'. Я предполагаю, что вы хотите присоединиться к 'myTableA' с' myTableB' на 'columnA'. Я просто попробовал интерпретацию вашего запроса, и он возвращает две строки, каждая из которых имеет дату MAX для каждого фрукта. Какой результат вы получаете? – Tung