【问题标题】:SQLite average functionSQLite 平均函数
【发布时间】:2014-07-13 17:10:40
【问题描述】:

我目前正在使用以下代码来使用 PHP 从 SQLite 数据库中获取数据。这将从 column1 中提取日期大于我指定的日期的所有数据。输出进入 $output,然后我可以将数据粘贴到表格中。

class MyDB extends SQLite3
{
  function __construct()
  {
     $this->open('database_name.sdb');
  }
}
$db = new MyDB();
if(!$db){
   echo $db->lastErrorMsg();
} else {
  echo "Opened database successfully<br /><br />";
}

$sql =<<<EOF
  SELECT * FROM "archive" WHERE "dateTime" > $specified_time;
EOF;
$ret = $db->query($sql);
while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
$output = $row['column1'];
}

我现在想要获取“第 2 列”(其中日期大于某个日期)中值的平均值并将其放入 PHP 变量中。这是我正在使用的代码,但它返回一个空白。我也尝试了其他一些方法,但无济于事。

$sql =<<<EOF
SELECT AVG("column2") FROM "archive" WHERE "dateTime" > $specifiedtime;
EOF;
$ret = $db->query($sql);
while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
$output = $row['AVG("column2")'];
}

有什么想法吗? 谢谢。

【问题讨论】:

    标签: php sqlite average


    【解决方案1】:

    为您的计算列使用别名

    SELECT AVG(column2) as avg_col2 FROM ...
    

    然后您可以在 PHP 中命名该列

    $output = $row["avg_col2"];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多