2015-01-06 64 views
0

我有一張投票表。我需要根據每個用戶的ID來獲取每個用戶在表中的投票數量,然後按照得票最多的人對查詢進行排序。基本上是一個領導人桌。我會怎麼做?需要統計一個id有多少條記錄返回,codeigniter

+0

什麼是你的表/數據是什麼樣子?你試過什麼了? – Tom

+0

'$ query-> num_records()'? – Asim

回答

0

說你的表存儲所有的選票叫做activity,它存儲的是iduser_id

獲取投票總數:

select user_id, count(user_id) as votes from activity group by user_id; 

獲得前5投干將:

select user_id, count(user_id) as votes from activity group by user_id ORDER BY votes desc LIMIT 5; 
+0

釘牢它。謝謝你,先生! – user3465657

+1

'ORDER BY user_id'不給出前5個。它應該是'ORDER BY COUNT(user_id)'或'ORDER BY votes'。 – Mischa

1
$this->db->select('COUNT(user_id) AS total_votes'); 
$this->db->from('votes'); 
$this->db->group_by('user_id'); 
$this->db->order_by('total_votes DESC'); 
$result = $this->db->get()->result(); 
相關問題