2015-07-04 10 views
6

Mi sembra un problema semplice, ma cerco comunque di trovare una buona soluzione. Sto usando Slick 3.0. Voglio interrogare la riga di una tabella, che ha il valore più alto in una colonna. Ma non voglio avere solo il valore più alto (questo è semplice), voglio avere l'intera riga. Ho provato alcune cose, come interrogare prima il massimo e poi filtrare con questo valore massimo, ma nulla è stato compilato o sembrava appropriato. mi aspetterei di essere lì un metodo del genere:Interrogare una riga con valore massimo in una colonna in Slick

table.maxBy(_.columnName) 

ma non ho trovato un metodo del genere. Quindi qual è il modo preferito per fare qualcosa del genere?

risposta

4

Il modo per farlo è di utilizzare questa query:

table.sortBy(_.columnName).take(1).result 

Purtroppo produce SQL che non è ottimizzato (ma corretta). Issue viene segnalato e corretto, verrà rilasciato in 3.1.0.

+0

Per 'maxBy', questo deve essere' _.columnName.desc' – Tom

Problemi correlati