$sql = "(Select max(bid),min(bid),max(ask),min(ask) From data Where date Between ('2017-05-12 09:06:00') AND ('2017-05-12 09:07:00')) UNION (select bid,ask from data order by date asc limit 1 )";
$result = $conn->query($sql)
if($result->num_rows>0)
{
while($row=$result->fetch_assoc())
{
echo "max bid:".$row["max(bid)"]. "max ask:".$row["max(ask)"]. "min bid".$row["min(bid)"]. "min ask".$row["min(ask)"]. "<br>" ;
echo "open bid" .$row["bid"]. "open ask" .$row["ask"];
}
}
最佳答案
我注意到您的代码中有两件事。
1/ The column count is not same in the 2 select statements.
2/ $result = $conn->query($sql);
并且使用
UNION
运算符时请记住以下条件。第一个
SELECT
语句中的列名用作返回结果的列名。每个SELECT
语句的相应位置中列出的所选列应具有相同的数据类型。 (例如,第一条语句选择的第一列应与其他语句选择的第一列具有相同的类型。)如果相应的
SELECT
列的数据类型不匹配,则UNION
结果中的列的类型和长度将考虑所有SELECT
语句检索到的值。Reference