mysql - Select rows with highest value in a specified column and not unique values in other column should be distinct -
मेरे पास टेबल है गतिविधियों :
id last_active login ip 1 1000 user1 192.168.10.10 2 2000 user2 192.168.10.20 3 3000 user3 192.168.10.30 4 4000 user1 192.168.10.10 5 5000 user2 192.168.10.20 6 6000 user2 192.168.10.20 7 7000 user1 192.168.10.10
मैं करने के लिए है सभी ip और एक पंक्ति में अन्य डेटा का चयन करें, लेकिन केवल जहां last_active उच्चतम है तो नतीजा यह है कि पसंद करना चाहिए:
3 3000 user3 192.168.10.30 6 6000 user2 192.168.10.20 7 7000 user1 192.168.10.10
मैं का उपयोग करके इसे की कोशिश की है:
<पूर्व> ओआरएम :: कारखाना ('गतिविधि') -> ऑर्डर-बी ('अंतिम_एक्टिव', 'डीईएससी') -> ग्रुप_बाइ ('आईपी') -> फॉर_ऑल ();और इसका परिणाम है:
सरणी (4) ("id" => स्ट्रिंग (1) "3" "अंतिम_एक्टिव" => स्ट्रिंग (4) "3000" लॉगिन "=> स्ट्रिंग (5)" user3 "" आईपी "=> स्ट्रिंग (13)" 192.168.10.30 ") सरणी (4) (" आईडी "=> स्ट्रिंग (1)" 2 "" last_active "=> स्ट्रिंग (4 ) "2000" "लॉगिन" => स्ट्रिंग (5) "user2" "आईपी" => स्ट्रिंग (13) "192.168.10.20") सरणी (4) ( "आईडी" => स्ट्रिंग (1) "1" "last_active "=> स्ट्रिंग (4)" 1000 "" लॉगिन "=> स्ट्रिंग (5)" user1 "" आईपी "=> स्ट्रिंग (13)" 192.168.10.10 ") आप देख सकते हैं, मैं विशिष्ट एप हैं लेकिन अंतिम_एक्टिव मान सही नहीं है कोई उपाय? शुद्ध एसक्यूएल स्टेटमेंट या डीबी :: चयन () उत्तर ठीक है: -)
कैसे के बारे में
<कोड> चुनिंदा आईडी, last_active, लॉगिन, गतिविधियों से आईपी जहां में (last_active, आईपी) (अधिकतम (last_active), आईपी द्वारा गतिविधियों समूह से आईपी चुनें)
Comments
Post a Comment