Są dwie możliwości rozwiązania tego problemu.
1) Piszesz zwykłe zapytanie sortujące rosnąco i wybierające 100 wyników oraz kładziesz je potem jako podzapytanie do posortowania na odwrót, czyli coś w stylu:
SELECT * FROM ( SELECT * FROM tabela ORDER BY kolumna ASC LIMIT 100 ) AS to_flip ORDER BY to_flip.kolumna DESC
2) Robisz tylko to podzapytanie pobierające 100 najnowszych i po stronie PHP sobie "czytasz" rekordy od ostatniego, czyli coś w deseń:
$res = mysql_query( 'SELECT * FROM tabela ORDER BY kolumna ASC LIMIT 100' ); if( $res ) {
if( $num > 0 ) {
while( $num ) {
$num -= 1;
}
}
}
Nie bawiłem się tu w jakieś sprawdzania specjalne czy wynik istnieje itp. Tak samo wziąłem proste funkcje mysql_* by było widać co i jak, ale możesz też użyć PDO czy innych.
Kolega wyżej nie zauważył chyba, że sortowanie ma być w jednym zapytaniu raz w jedą, a raz w drugą stronę, a na dodatek niech pomyśli co jest podczas sortowania wykonywane domyślnie... ASC czy DESC, bo tego nie określił, a jest istotne w tym akurat zapytaniu...