我正在使用Oracle11g 我想要做的是选择具有最大更新日期的字段。 下面的代码是在Toad中选择正确的字段。我如何在CodeIgniter中的php脚本中使用它。
select * from performance
where UPDATE_DATE = (select max(UPDATE_DATE) from performance)
我在CodeIgniter中有这个,但只选择了UPDATE_DATE列。我还想在字段记录中选择id,shop_name和update_date
function get_last_insert()
{
$this->db->select_max('UPDATE_DATE');
$query = $this->db->get('PERFORMANCE');
echo '<pre>' .$this->db->last_query(). '</pre>';
}
确定。经过对stackoverflow的大量研究 正确的答案是
function get_last_insert()
{
$this->db->select('*');
$this->db->where('UPDATE_DATE = (SELECT MAX(UPDATE_DATE) FROM PERFORMANCE)', NULL, FALSE);
$query = $this->db->get('WHOUSE1.DLY_BWR_MAN_PERFORMANCE');
print_r($query);
}
答案 0 :(得分:0)
试试这个:
function get_last_insert()
{
$this->db->select(' id, shop_name, update_date, MAX(UPDATE_DATE) as UPDATE_DATE', false)->get('PERFORMANCE')->row_array();
echo '<pre>' .$this->db->last_query(). '</pre>';
}
答案 1 :(得分:0)
这将返回$ champs_select的值(最大行的特定字段)。你还可以在array =&gt;中加入特定条件$哪里
function getmax_where('performance',$where,'UPDATE_DATE',$champs_select)
{
$this->db->select_max('UPDATE_DATE');
$this->db->where($where);
$maxdate= $this->db->get('performance');
foreach($maxdate->result() as $row){
$max= $row->UPDATE_DATE;
}
if($max){
$array=array('UPDATE_DATE'=>$max);
$array= array_merge($array,$where);
$this->db->select($champs_select);
$this->db->where($array);
$result= $this->db->get('performance');//->result() give all records of a maximum column
foreach($result->result() as $row){
$resultat= $row->$champs_select;
}
return $resultat;
}
return false;
}
?>
答案 2 :(得分:0)
function get_last_insert()
{
$this->db->select('*');
$this->db->where('UPDATE_DATE = (SELECT MAX(UPDATE_DATE) FROM PERFORMANCE)', NULL, FALSE);
$query = $this->db->get('WHOUSE1.DLY_BWR_MAN_PERFORMANCE');
print_r($query);
}