Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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数据库|查询count()并同时选择_Mysql - Fatal编程技术网

MySQL数据库|查询count()并同时选择

MySQL数据库|查询count()并同时选择,mysql,Mysql,我正在使用MySql workbench 5.7来运行这个 我正在尝试获取此查询的结果: SELECT COUNT(Users) FROM UserList.custumers; SELECT Users FROM UserList.custumers; 此查询: SELECT COUNT(Users) FROM UserList.custumers; SELECT Users FROM UserList.custumers; 在同一个表中,这意味着我希望在一列中列出用户列表,在另一列中

我正在使用MySql workbench 5.7来运行这个

我正在尝试获取此查询的结果:

SELECT COUNT(Users) FROM UserList.custumers;
SELECT Users FROM UserList.custumers;
此查询:

SELECT COUNT(Users) FROM UserList.custumers;
SELECT Users FROM UserList.custumers;
在同一个表中,这意味着我希望在一列中列出用户列表,在另一列中列出用户总数

当我尝试这一点时:

SELECT Users , COUNT(Users) FROM UserList.custumers;

我得到一个具有正确计数的单行,但只有列表中的第一个用户……

您可以使用交叉联接,因为您知道计数查询将产生一行。。。您希望在每一行上重复其值

SELECt users, userCount
FROM  userlist.custumers
CROSS JOIN  (Select count(*) UserCount from userlist.custumers)
或者,您可以在“选择…”中运行计数。。。。我喜欢第一个,因为计数只需要做一次

SELECT users, (SELECT count(*) cnt FROM userlist.custumers) as userCount 
FROM userlist.custumers
或者在支持窗口功能而不是mySQL的环境中,您可以将分区上的*按1计为userCount

之所以得到一行,是因为mySQL扩展了GROUP,当您使用不带GROUP BY子句的聚合时,GROUP BY将从非聚合列中选择一个值来显示。如果将group by添加到select,则不会获得所有用户的计数。因此,需要内联选择或交叉连接

考虑:-1记录并非所有用户

SELECT Users , COUNT(Users) FROM UserList.custumers;  
vs-所有用户计数错误

SELECT Users , COUNT(Users) FROM UserList.custumers group by users;
我相信你在追求什么

SELECT Users, x.usercount FROM UserList.custumers 
CROSS JOIN  (Select count(*) UserCount from userlist.custumers) x  

在SELECT中使用子查询

Select Users, 
       (SELECT COUNT(Users) FROM UserList.custumers) as total
FROM UserList.custumers;