Как получить 2 раза в MYSQL PDO без FETCHALL

У меня есть этот пример запроса:

$STH = $DBH->query("SELECT id FROM table");

Я хочу получить первый ряд, а затем зациклить и отобразить все строки. Поэтому я использую следующее, чтобы получить первый ряд:

$STH->setFetchMode(PDO::FETCH_ASSOC);
$first_row = $STH->fetch();
$first_row = $first_row['id'];

Я использую цикл while для отображения всех строк снова:

while ($list = $STH->fetch()) {      
$id = $list['id'];
echo $id;
}

Теперь while пропускает первый ряд, и я хочу, чтобы он отображался. Есть ли эквивалентmysql_data_seek сбросить указатель снова на первый ряд? я знаюfetchall можно использовать, но этоплохо с памятью и расточительно. Я также мог бы выполнить запрос и ограничить до 1, но это не рекомендуется, так как у меня есть запрос, который объединяет несколько таблиц и будет очень медленным. Есть ли другое решение?

Спасибо

Ответы на вопрос(3)

Ваш ответ на вопрос