2014-11-20 13 views
5

में एक ही क्वेरी में अधिकतम, मिनट का चयन कैसे करें, मैं यह SELECT MAX(age), MIN(age) FROM users WHERE name = 'Rick' करना चाहता हूं। सबसे अच्छा मैं 2 प्रश्नों के साथ आया: Users.filter(_.name === 'Rick').map(_.age).maxस्लिक

उत्तर

3

यह समर्थित है, लेकिन सबसे पहले, आपको इसे समूहित करने की आवश्यकता होगी।

val q = Users.filter(_.name === 'Rick').groupBy { _ => true }.map { 
    case (_, group) => 
    (group.map(_.age).max, group.map(_.age).min) 
} 

यह आप कुछ इस तरह उपज चाहिए::

q.selectStatement 
# => select max(x2."age"), min(x2."age") from "Users" x2 

एक और दृष्टिकोण आप true और चालाक से एक समूह के रूप पूरे सेट है, यह समूह इलाज कर रहे हैं के बाद से जब एसक्यूएल पैदा यह ध्यान नहीं देगा आप एक संघ बनने की कोशिश कर सकते हैं।

संबंधित मुद्दे