gpt4 book ai didi

php mysql 从多列中选择最小值

转载 作者:行者123 更新时间:2023-11-30 01:12:41 24 4
gpt4 key购买 nike

我的数据库有这种情况:

酒店表----->酒店表价格

餐 table 酒店:

hotel_id | hotel_name |
1 hotel1
2 hotel2

酒店价格表

price_id |  hotel_id | room_type |  single | Double | extra |
1 1 superior 5 10 20
2 1 deluxe 3 5 10

我会显示酒店1的最低起价

酒店“最低值(value)”1星

我尝试过这个但不起作用

$query = ("SELECT LEAST(COL1,COL2,COL3) FROM rug WHERE COL1 != '' AND COL2!= '' AND COL3 != ''");
$result=mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());}
$num=mysql_numrows($result);
$i=0;
while ($i < $num)
{
$pricing[$i]=mysql_result($result, $i);
$i++;
}
sort($pricing);
$lowest_price = $pricing[0]; //lowest price

感谢雷蒙德的回答,这几乎是正确的

select
*
, least(single, `double`, extra) as lowest_price
from hotel_price
where
hotel_id = 1
order by
lowest_price
;

这样将在酒店价格表中显示最低价格列

PRICE_ID HOTEL_ID ROOM_TYPE 额外单人间双人间HOTEL_NAME LOWEST_PRICE2 1 豪华 3 5 10 酒店1 31 1 高级酒店 5 10 20 酒店1 5

但我只想显示最低价格列中的一个最低价格

最小的是3

有什么想法吗?谢谢!

最佳答案

不完全确定您是否需要这个..

如果您已经知道名为“hotel1”的酒店 ID

select
*
, least(single, `double`, extra) as lowest_price
from hotel_price
where
hotel_id = 1
order by
lowest_price
;

如果您不知道需要加入的酒店 ID

select
*
, least(single, `double`, extra) as lowest_price
from
hotel_price
inner join
hotel
on
hotel_price.hotel_id = hotel.hotel_id
where
hotel.hotel_name = 'hotel1'
order by
lowest_price
;

参见http://sqlfiddle.com/#!2/f947b/3对于演示,请注意演示有更多查询,应该给您相同的结果

关于php mysql 从多列中选择最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19347003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com