如何将 Count (*) 作为变量从 SQL 到 php?

Posted

技术标签:

【中文标题】如何将 Count (*) 作为变量从 SQL 到 php?【英文标题】:How to take Count (*) as variable from SQL to php? 【发布时间】:2015-01-08 15:52:42 【问题描述】:

我已向 SQL 发出请求:

SELECT meta_value,  COUNT(*)  from wp_postmeta; 

并响应一个数组:

array (size=102)
  0 => 
    object(stdClass)[24]
      public 'meta_value' => string '37' (length=2)
      public 'COUNT(*)' => string '147' (length=3)
  1 => 
    object(stdClass)[23]
      public 'meta_value' => string '32' (length=2)
      public 'COUNT(*)' => string '143' (length=3)

我使用“meta_value”对 php 代码没有任何问题:

$result->meta_value;

但是如何获取 public 'COUNT(*)' => string '143' (length=3) 的值呢? 我只尝试了不同的语法和一些错误。

我需要值:147,143...

【问题讨论】:

SELECT meta_value, COUNT(*) as xy from wp_postmeta; 对你有用吗? 很好,写了一个答案(另外,如果您想了解它被称为别名!您可以使用您选择的所有内容(例如SELECT name as xy from table where id = 1)) 是的。谢谢你。我以前读过 SQL for Dummiers,但不记得这件事了。这真的很简单。再次感谢您。 【参考方案1】:

使用AS 创建别名

SELECT meta_value,  COUNT(*) As count  from wp_postmeta; 

然后使用count

【讨论】:

称为别名 太棒了!非常感谢!【参考方案2】:

在您的 SQL 中使用别名 ASmysql 函数指定所需的名称。

SELECT meta_value,  COUNT(*) as counter from wp_postmeta; 

【讨论】:

太棒了!非常感谢!【参考方案3】:
SELECT meta_value,  COUNT(*) AS total  from wp_postmeta; 

这是一个很好的解决方案。

但您可以采用其他方式(如果您想保持查询不变)

$total="count(*)";//keep it inside a variable;
//now you can use it

$result->$total;

$result->count(*) 会产生语法错误,但$result->$total; 会起作用

【讨论】:

【参考方案4】:

您可以像这样使用AS 的别名:

SELECT meta_value, COUNT(*) as xy from wp_postmeta;

【讨论】:

【参考方案5】:
SELECT meta_value,COUNT(*) AS total_count FROM wp_postmeta

echo $result->total_count;

【讨论】:

以上是关于如何将 Count (*) 作为变量从 SQL 到 php?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle (pl-sql) - 如何从文本中提取特定数据到对象类型变量中?

将数据库中的计数作为变量返回到 PHP [重复]

如何获取 JDBC SQL Count 结果为 int?

从 count sql 语句设置上下文变量

将数据作为文本文件从 spark 保存到 hdfs

如何在 SSIS 包中使用变量和 SQL 代码?