1

我想找到id表中存在的最大 s 数。例如,我有一张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一个表中存在的最大 s 数为 24,依此类推。

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

4

4 回答 4

3
select package_id, count(*) as Count
from MyTable
group by package_id
order by count(*) desc
limit 1
于 2013-05-02T13:32:27.937 回答
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
)
于 2013-05-02T13:33:33.353 回答
0

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

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

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

SELECT
    COUNT(DISTINCT `column`) as `count`
FROM
    `table`
于 2013-05-02T13:31:46.587 回答
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();
于 2013-05-02T13:36:38.503 回答