Powiedzmy, że chcemy odzyskać 100 rekordów z tabeli o nazwie messages
, i chcę je uzyskać w następujący sposób:Czy można połączyć SELECT w SQL?
1st message
100th message
2nd message
99th message
3rd message
98th message
(...)
Czy istnieje jakiś sposób, aby to skutecznie zrobić? Jakie byłoby odpowiednie zapytanie? Czy powinienem wykonać zapytanie, aby wybrać pierwsze 50, zapytanie, aby wybrać ostatnie 50, a następnie połączyć wyniki?
Jest to jeden przypadek, w którym to pewnie zrobić dwie kwerendy i scalić je w kodzie aplikacji. Prawdopodobnie można to zrobić w jednym zapytaniu, tworząc numery wierszy i używając bardzo inteligentnego warunkowego polecenia "ORDER BY", ale byłoby o wiele łatwiej zrobić w kodzie aplikacji. –
Tak, myślałem tak samo ... Prawdopodobnie łatwiejsze/bardziej wydajne jest zrobienie tego za pomocą dwóch różnych zapytań i połączenie ich wyników w kod – federicot
Zdecydowanie poczekałbym, czy ktoś tutaj może stworzyć genialne rozwiązanie. Jest tu kilka całkiem sprytnych ludzi. –