我試圖找出這一點,沒有運氣。我不斷得到一些奇怪的結果!首先,我有一個MySQL數據庫的一些行,該結構是這樣的,group_by和order_by與codeigniter
ID MESSAGE_ID 消息 TIME 日期現在
,該MESSAGE_ID可以是相同的多次,這是我的問題開始的地方。我想通過ID選擇最後一行復制的message_ID的排序。
所以,讓我們說我有一個正常的GET請求,結果是這樣的,
Array
(
[0] => Array
(
[id] => 3
[message_id] => 1
[from_user_id] => 3
[to_user_id] => 1
[message] => last
[time_sent] => 1331874924
[date_sent] => 16/03/2012
[opened] => 0
[ip] => ::1
[deleted] => 0
[reported] => 0
)
[1] => Array
(
[id] => 2
[message_id] => 1
[from_user_id] => 3
[to_user_id] => 1
[message] => middle
[time_sent] => 1331874920
[date_sent] => 16/03/2012
[opened] => 0
[ip] => ::1
[deleted] => 0
[reported] => 0
)
[2] => Array
(
[id] => 1
[message_id] => 1
[from_user_id] => 3
[to_user_id] => 1
[message] => first
[time_sent] => 1331874916
[date_sent] => 16/03/2012
[opened] => 0
[ip] => ::1
[deleted] => 0
[reported] => 0
)
[3] => Array
(
[id] => 4
[message_id] => 2
[from_user_id] => 3
[to_user_id] => 1
[message] => test
[time_sent] => 1331874916
[date_sent] => 16/03/2012
[opened] => 0
[ip] => ::1
[deleted] => 0
[reported] => 0
)
)
現在,我想要什麼,是去除dubplicated MESSAGE_ID的,只有得到這個(注意如何應該由ID)
Array
(
[0] => Array
(
[id] => 3
[message_id] => 1
[from_user_id] => 3
[to_user_id] => 1
[message] => last
[time_sent] => 1331874924
[date_sent] => 16/03/2012
[opened] => 0
[ip] => ::1
[deleted] => 0
[reported] => 0
)
[1] => Array
(
[id] => 4
[message_id] => 2
[from_user_id] => 3
[to_user_id] => 1
[message] => test
[time_sent] => 1331874916
[date_sent] => 16/03/2012
[opened] => 0
[ip] => ::1
[deleted] => 0
[reported] => 0
)
)
下訂單我一直試圖做之前,
$this->db->order_by(‘id’, ‘DESC’);
$this->db->group_by(‘message_id’);
和
$this->db->group_by(‘message_id’);
$this->db->order_by(‘id’, ‘DESC’);
,但我沒有得到來自MESSAGE_ID的最新成果,只有第一個(看起來像它不刪除或某件事之前soring?)
任何幫助將是巨大的!
'SELECT * FROM table GROUP BY message_id ORDER BY id ASC;' – hjpotter92 2012-03-18 16:13:26
你想要結果id是按升序還是降序? – 2012-03-18 16:18:44
我做了hjpotter92,$ this-> db-> group_by('message_id')AND $ this-> db-> order_by('id','ASC');但是如果我使用ASC或DESC,無論如何我都會得到第一個ID(ID = 1),看起來它並不像我在第一篇文章中所說的那樣排序。 – 2012-03-18 16:20:48