我正在使用mysql作爲數據庫,我有一個如下所示的表。在MySQL中按順序排序
CREATE TABLE IF NOT EXISTS `logins` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`userid` varchar(255) NOT NULL,
`date` varchar(255) NOT NULL,
`status` varchar(255) NOT NULL,
KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=346 ;
我想按order排序mysql結果。問題是當我使用這個sql它只需要第一個日期記錄。這是一個更舊的日期。我想要最新的日期。用戶的最後登錄日期。
SELECT * FROM `logins` WHERE `status`='valid' GROUP BY `userid` ORDER BY `date` DESC
有什麼建議?
您在SELECT中有GROUP BY但沒有AGGREGATE。 – Matt
如上所述,在沒有任何聚合函數的情況下,使用GROUP BY是不合適的。如果你願意,可以考慮遵循以下簡單的兩步式操作:1.如果你還沒有這樣做(並且你沒有這樣做),提供適當的DDL(和/或一個sqlfiddle),這樣我們可以更容易地複製問題。 2.如果您尚未這樣做,請提供與步驟1中提供的信息相對應的所需結果集。 – Strawberry
翻譯:刪除「GROUP BY用戶標識」 – Matt