Php 选择带有订单字段的mysql查询
我有如下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
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文档是一个良好的开端