То, что я пытаюсь сделать с помощью приведенного ниже кода, получая все ключевые слова с их позициями через LEFT JOIN, работает нормально, но показывает первую позицию каждого ключевого слова, но я хочу показать последнюю записанную позицию (по дате ).
PHP:
public function getKeyword(){
global $connection;
$array = Array();
$sql = "SELECT keyword.id, keyword.title, keyword.date, rank.position FROM keyword
LEFT JOIN rank
ON rank.wordid = keyword.id
GROUP BY keyword.id
ORDER BY keyword.date DESC";
$result = $connection->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$array[] = $row;
}
}
return $array;
$connection->close();
}
Как я могу это сделать? Должен ли я использовать подзапрос или что? Есть ли способ сделать это без подзапроса?
ОБРАЗЦЫ ДАННЫХ
Что я хочу:
Получите 17 вместо 13, я имею в виду последнюю запись позиции.