Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 选择带有订单字段的mysql查询_Php_Mysql_Codeigniter - Fatal编程技术网

Php 选择带有订单字段的mysql查询

Php 选择带有订单字段的mysql查询,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有如下mysql查询 SELECT p.prop_name, p.prop_id, p.star, c. NAME, pr.prov_name, c.countryid, c. NAME, pr.provinceid, r.room_typeid, r.roomtype_name, rr.is_promo, r.price, rr.final_price FROM v_property p INNER JOIN set_country c ON(p.countryid = c.country

我有如下mysql查询

SELECT
p.prop_name,
p.prop_id,
p.star,
c. NAME,
pr.prov_name,
c.countryid,
c. NAME,
pr.provinceid,
r.room_typeid,
r.roomtype_name,
rr.is_promo,
r.price,
rr.final_price FROM
v_property p 
INNER JOIN set_country c ON(p.countryid = c.countryid)
INNER JOIN set_province pr ON(p.provinceid = pr.provinceid)
INNER JOIN room_type r ON(p.prop_id = r.prop_id)
INNER JOIN room_rate_promo rr ON(r.room_typeid = rr.room_typeid)
WHERE
  rr.date = '2015-11-09'
AND p.is_active = 1
AND rr.rating_status = 'ON'
AND p. STATUS = 1
AND p.provinceid = '5'
ORDER BY
  rr.final_price ASC
结果如下所示


我希望
prop\u name
只显示每个
prop\u name
中的一行,并通过最低
最终价格
列和订单获得
is\u promo
到最高您就快到了。只需在“选择”之后添加“TOP1”。因此,这将是:

SELECT TOP 1
/* etc... */

使用GROUP BY子句使属性名称唯一

SELECT
    p.prop_name,
    p.prop_id,
    p.star,
    c. NAME,
    pr.prov_name,
    c.countryid,
    c. NAME,
    pr.provinceid,
    r.room_typeid,
    r.roomtype_name,
    rr.is_promo,
    r.price,
    rr.final_price FROM
    v_property p 
    INNER JOIN set_country c ON(p.countryid = c.countryid)
    INNER JOIN set_province pr ON(p.provinceid = pr.provinceid)
    INNER JOIN room_type r ON(p.prop_id = r.prop_id)
    INNER JOIN room_rate_promo rr ON(r.room_typeid = rr.room_typeid)
    WHERE
      rr.date = '2015-11-09'
    AND p.is_active = 1
    AND rr.rating_status = 'ON'
    AND p. STATUS = 1
    AND p.provinceid = '5' 
    GROUP BY p.prop_name 
    ORDER BY
      rr.final_price ASC, is_promo DESC 

查看ag文档是一个良好的开端