sql count并选择几行

时间:2015-11-15 09:20:38

标签: sql count

我想编写一个返回下一个结果的查询:

[
   [0] => [
        'login' => 'user',
        'count' => '2'
   ],
   [1] => [
       'login' => 'test',
       'count' => '2'
   ]
]

说明: login列是一个简单的列,其中包含数据,count是所有结果的COUNT。 如果我写

SELECT login, COUNT(*) FROM `users` WHERE 1 GROUP BY `users`.`id`

我将获得下一个数据:

[
   [0] => [
        'login' => 'user',
        'count' => '1'
   ],
   [1] => [
       'login' => 'test',
       'count' => '1'
   ]
]

如你所见,COUNT不正确(我需要2)。 如果我不使用GROUP语句,我将获得下一个数据:

[
   [0] => [
        'login' => 'user',
        'count' => '2'
   ],
]

COUNT是正确的,但并非所有数据都被提取。 是否可以在没有子查询的情况下为一个查询获取所有这些内容?

谢谢。

1 个答案:

答案 0 :(得分:0)

 select login as ID,(select COUNT(*) from users)  as USERCOUNT  from users;

通过将嵌套的select语句用作列并使用非函数名定义它,它将返回带有表的select语句的结果。