将COUNT()理解为`count`

时间:2012-11-24 12:24:17

标签: php mysql login count

我目前正在学习如何在PHP MySQL中构建网站。但是,我似乎无法理解COUNT() as count并且不会介意进一步解释。

我了解COUNT0 || 1的原则,以及它如何返回与该查询相关的所有值。

但是,不要看COUNT如何计数。无论如何,这就是我写作的代码如何 - 所以我们有一个工作的例子 - 我最初感到困惑的地方。

"SELECT COUNT(id) as count, id
 FROM user
 WHERE email='$email' AND password='".md5$password."'"

4 个答案:

答案 0 :(得分:2)

使用Count(),您可以计算结果集的返回行数。关于count的官方MySQL文档:

  

数据库通常用于回答“桌面中某种类型的数据出现频率的问题?”例如,您可能想知道您拥有多少只宠物,或者每个拥有者拥有多少只宠物,或者你可能想对你的动物进行各种人口普查。

     

计算您拥有的动物总数与“宠物桌中有多少行?”的问题相同,因为每只宠物有一条记录。 COUNT(*)计算行数,因此计算动物的查询如下所示:

     

SELECT COUNT(*) FROM pet;

AS count部分意味着此列将获得您可以使用的名称,例如用PHP。另见w3schools上的此扩展:

  

您可以使用别名为表或列指定其他名称。如果您有非常长或复杂的表名或列名,这可能是一件好事。

     

别名可以是任何名称,但通常很短。

答案 1 :(得分:2)

这就是所谓的别名,它有时用于向用户或调用代码显示更具吸引力的列标题

SELECT COUNT(`id`) as `count`....

将打印

count
--------
5

别名作为列标题而不是任意字符串:See the SQLFiddle to see the difference

从小提琴中你可以看到标题栏看起来有点像。

count(*)
--------
5

答案 2 :(得分:1)

as count只是一个别名。您可以对所选的任何字段或方法使用as。它表示您更改数据集中返回的列的名称。

SELECT `field` as another_name

所以:

SELECT COUNT(*) as `count`

只需将列从COUNT(*)重命名为count,即可让您更轻松地使用您的结果集。

它还使您在当前查询中更容易访问。许多人会使用大表名来执行以下操作:

SELECT * FROM `table_with_ridiculous_name` as twrn WHERE twrn.id = 1

答案 3 :(得分:0)

如果您运行此sql:

SELECT COUNT(id), id ....

你会得到(在做一个* _fetch_assoc之后)$row['numberofrecordshere']这很难回应(或用于比较),除非你知道会有多少记录(这会破坏这个结果的目的) ,无论如何)

将其作为count返回允许您使用$row['count']

在结果数组中找到它