Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql sql选择用户最多的产品_Mysql_Sql - Fatal编程技术网

Mysql sql选择用户最多的产品

Mysql sql选择用户最多的产品,mysql,sql,Mysql,Sql,用户: 项目: uid int(11) - userid(primary key, auto_increment) name varchar(255) pass varchar(64) created int(11) 用户和项目: pid int(11) ..... name varchar(150) description varchar(255) created int(11) 我如何选择分配了最多苏联人的项目 sql查询。您可以使用如下内容: uid int(11) - user id

用户:

项目:

uid int(11) - userid(primary key, auto_increment)
name varchar(255)
pass varchar(64)
created int(11)
用户和项目:

pid int(11) .....
name varchar(150)
description varchar(255)
created int(11)
我如何选择分配了最多苏联人的项目


sql查询。

您可以使用如下内容:

uid int(11) - user id
pid int(11) - product id

这将返回所有项目的列表以及每个项目的总用户数。如果您希望返回的项目将使用最多的用户,那么您将包括注释掉的
limit 1

如果您有多个具有相同用户数的
项目
,则您可能希望使用类似的方法:

select p.pid, 
  p.name,
  up.TotalUsers
from projects p
inner join
(
  select pid, count(uid) TotalUsers
  from users_projects
  group by pid
) up
  on p.pid = up.pid
order by TotalUsers Desc
-- limit 1


谢谢你的小提琴

你可以用这样的东西:

uid int(11) - user id
pid int(11) - product id

这将返回所有项目的列表以及每个项目的总用户数。如果您希望返回的项目将使用最多的用户,那么您将包括注释掉的
limit 1

如果您有多个具有相同用户数的
项目
,则您可能希望使用类似的方法:

select p.pid, 
  p.name,
  up.TotalUsers
from projects p
inner join
(
  select pid, count(uid) TotalUsers
  from users_projects
  group by pid
) up
  on p.pid = up.pid
order by TotalUsers Desc
-- limit 1


感谢您的帮助

下面的查询将包括多个具有相同用户数的项目,并且恰好是用户数最多的项目

select p.pid, 
  p.name,
  up.TotalUsers
from projects p
inner join
(
  select pid, count(uid) TotalUsers
  from users_projects
  group by pid
) up
  on p.pid = up.pid
where totalusers = (select count(*) Total
                    from users_projects
                    group by pid
                    order by total desc
                    limit 1)

以下查询将包括多个具有相同用户数且恰好是最多用户数的项目

select p.pid, 
  p.name,
  up.TotalUsers
from projects p
inner join
(
  select pid, count(uid) TotalUsers
  from users_projects
  group by pid
) up
  on p.pid = up.pid
where totalusers = (select count(*) Total
                    from users_projects
                    group by pid
                    order by total desc
                    limit 1)

如果您只寻找一个项目,以下是最快的方法:

SELECT  a.name userName, c.name ProjectName
FROM    users a
        INNER JOIN users_projects b
            ON a.uid = b.uid
        INNER JOIN projects c
            ON b.pid = c.pid
        INNER JOIN
        (
            SELECT  pid, COUNT(*) totalCount
            FROM    users_projects
            GROUP   BY pid
            HAVING  COUNT(*) = (SELECT COUNT(*) x 
                                FROM users_projects 
                                GROUP BY pid 
                                ORDER BY x DESC 
                                LIMIT 1)
        ) d ON b.pid = d.pid
ORDER   BY a.Name ASC

(我假设“产品”=“项目”)。

如果您只寻找一个项目,以下是最快的方法:

SELECT  a.name userName, c.name ProjectName
FROM    users a
        INNER JOIN users_projects b
            ON a.uid = b.uid
        INNER JOIN projects c
            ON b.pid = c.pid
        INNER JOIN
        (
            SELECT  pid, COUNT(*) totalCount
            FROM    users_projects
            GROUP   BY pid
            HAVING  COUNT(*) = (SELECT COUNT(*) x 
                                FROM users_projects 
                                GROUP BY pid 
                                ORDER BY x DESC 
                                LIMIT 1)
        ) d ON b.pid = d.pid
ORDER   BY a.Name ASC

(我假设“产品”=“项目”)。

您在使用什么<代码>SQL Server<代码>MySQL<代码>Oracle<代码>DB2?等和大多数用户一起定义产品关于第二个问题?你怎么知道一个产品拥有最多的用户?我猜你指的是项目,对吗?\n在用户项目中,我们有用户的id和项目的id,我想提取用户最多的项目,比如可能我有10个用户使用同一个项目,我想显示你在使用什么<代码>SQL Server<代码>MySQL<代码>Oracle<代码>DB2?等和大多数用户一起定义产品关于第二个问题?你怎么知道一个产品拥有最多的用户?我猜你指的是项目,对吗?\n在用户项目中,我们有用户的id和项目的id,我想提取用户最多的项目,就像我可能有10个用户有相同的项目,我想展示这一点