从表中获取所有行以及最小值和最大值

时间:2019-07-04 11:48:39

标签: mysql codeigniter-3

我想获得除两列之外的所有行,这两列将是同一张表中的max和min值。上面的查询只给我价格表中的最小值和最大值,但是我必须从价格表中获取所有行。

$this->db->select('MAX(price) as max_package_price, MIN(price) as min_package_price,user_id as user_id');
    $results = $this->db->get($this->price)->result();

price   title    date
------------------------

500    P1     2019-12-31
700    P2     2019-09-15
400    P3     2019-08-14

我希望在一次查询中获得表中所有行的最低价格和最高价格。

1 个答案:

答案 0 :(得分:0)

您的问题的答案是是可以的,但这可能不是最佳方法(我相信此解决方案将对您的数据库查询进行更多的工作-如果不是这样,优化后可能会非常昂贵(就时间/ CPU而言)。

$this->db->select('price,title,date,(SELECT MAX(price) FROM '.$this->price.') as MinPrice,(SELECT MIN(price) FROM '.$this->price.') as MaxPrice);