如何在一个表中存在最大数量的id?

时间:2013-05-02 13:29:10

标签: mysql codeigniter

我想查找表中存在的id的最大数量。例如,我有一个user_views表:

      user_views
 -------------------
 u_v_id   package_id 
   1            24
   2            24
   3            24
   4            25
   5            25
   6            26
   7            27

包裹表:

 package_id      name

一个表中存在的id的最大数量为24,依此类推。

如何编写查询来提取该值?

4 个答案:

答案 0 :(得分:3)

select package_id, count(*) as Count
from MyTable
group by package_id
order by count(*) desc
limit 1

答案 1 :(得分:1)

以下查询将支持重复package_ID以获得最大观看次数。

SELECT  package_ID
FROM    user_views
GROUP   BY package_ID
HAVING  COUNT(*) = 
(
    SELECT  COUNT(*) totalCount
    FROM    user_views
    GROUP   BY package_ID
    ORDER   BY totalCount DESC
    LIMIT   1
)

答案 2 :(得分:0)

如果要查找数据库中的最大数量,请使用MAX()

SELECT
    MAX(`column`) as `max`
FROM
    `table`

或者如果要查找数据库中唯一ID的数量,请使用COUNT()

SELECT
    COUNT(DISTINCT `column`) as `count`
FROM
    `table`

答案 3 :(得分:0)

如果您尝试获取package_id值,请使用CodeIgniter内置的Active Record类:

$this->db->select('user_views.u_v_id', 'packages.package_id', 'packages.name');
$this->db->from('user_views');
$this->db->join('packages', 'user_views.package_id=packages.package_id');
$query = $this->db->get();