【发布时间】:2013-07-12 08:46:18
【问题描述】:
有没有办法计算表中两个值之间的百分比并将其选为列?我知道这是可能的,但我想知道具体在 ZF2 环境中是否可能。
我的 ZF2 应用程序中有一个选择,它从数据库 (SQL Server) 中获取一堆数据。此查询涉及我想按可用磁盘空间(表中的一列)排序的表“库”。但我不希望它按可用空间的绝对量排序,而是按相对于总磁盘空间的百分比。
所以我的意思是像
libraries.freeSpace / libraries.totalSpace as 'percentage'
但在 ZF2 选择中。这是当前的查询:
$resultSet = $this->tableGateway->select(function(Select $select) use($report){
$select->where('id = ' . $report[0]->customer)
->order('freeSpace', 'asc');
});
e:答案。
使用 Zend\Db\Sql\Expression 你的模型。
将列添加到您的选择中:
$select->columns(array(
'percentage' => new Expression('cast(libraries.freeSpace') as float / cast.('libraries.totalSpace') as float', false);
【问题讨论】:
-
为什么不使用原始 SQL?
标签: sql select zend-framework2