Diciamo che voglio recuperare 100 record da una tabella denominata messages
, e voglio ottenerli seguente modo:È possibile unire in un SELECT in SQL?
1st message
100th message
2nd message
99th message
3rd message
98th message
(...)
Esiste un modo per fare questo in modo efficace ? Quale sarebbe la query appropriata? Oppure devo fare una query per selezionare i primi 50, una query per selezionare gli ultimi 50 e quindi unire i risultati?
questo è un caso in cui avrei probabilmente fare due query e unirli nel codice dell'applicazione. Può probabilmente essere fatto in una query creando numeri di riga e usando un condizionale molto intelligente 'ORDER BY', ma sarebbe molto più facile da fare nel codice dell'applicazione. –
Sì, ho pensato lo stesso ... Probabilmente è più facile/più efficiente farlo con due query diverse e unire i loro risultati nel codice – federicot
Aspetterei sicuramente di vedere se qualcuno qui può produrre una soluzione geniale. Ci sono alcune persone abbastanza intelligenti qui intorno. –