2014-03-26 131 views
0

我有一個SQLite表看起來像這樣SQLite的順序:按日期和group by

channel  message  time 
123   hello  2014-03-25 21:33:52 
123   there  2014-03-25 22:31:00 
222   hi also  2014-01-22 10:19:00 
222   bye   2014-01-22 11:29:00 

現在我想通過DESC以獲得每個channel和秩序的所有結果的最新消息。

我走到這一步是:

SELECT * from history WHERE GROUP BY channel order by date(time) DESC; 

這將返回最新消息每個channel但結果不是爲了。

即時得到:

222   bye   2014-01-22 11:29:00 
123   there  2014-03-25 22:31:00 

通道123應該是因爲它的最新的一個頂部。

任何想法我做錯了什麼?

+0

無法使用條件嗎? :?並嘗試僅按時間排序 –

回答

2

我只是想爲了我的數據至極使用日期和時間,它的工作原理,但僅限於日期或時間(我的字段名)

在你的情況下,列的名稱是「時間」那麼爲什麼你使用date(time)而不是簡單的time?嘗試使用簡單的命令它:

SELECT * from history WHERE GROUP BY channel order by time DESC; 
0

在SQLite數據庫日期類型不是它作爲一個字符串,這樣就不會在按照日期順序您的記錄NSDate的類型。你必須用其他方式來做。