PHP SQL - 从一个表中选择多个

时间:2018-01-01 10:40:14

标签: php mysql sql

我从一个表中得到SELECT查询,其工作原理如下:

 $sql = "SELECT count(max720) AS anzahlpositive1 from table where (((max720 - lastsignal)/lastsignal)*100) >= 1 AND (((max720 - lastsignal)/lastsignal)*100) < 2 AND max720 != ''";
$result = $conn->query($sql);

但我有20-30个其他值。 对于每个SELECT查询,建立了一个新的连接。我认为这是很多性能。

那是第二个:

$sql = "SELECT count(max720) AS anzahlpositive2 from table where (((max720 - lastsignal)/lastsignal)*100) >= 2 AND (((max720 - lastsignal)/lastsignal)*100) < 3 AND max720 != ''";
$result = $conn->query($sql);

可以在ONE select中执行此操作吗? (更好的表现)

我尝试了UNION(但我认为它适用于2个或更多表)

这是一个解决方案吗?

$sql = "SELECT 1";
$sql .= "SELECT 2";
$sql .= "SELECT 3";
...

$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
echo $anzahlpositive1 ;
echo $anzahlpositive2 ;
echo $anzahlpositive3 ;
....
}

1 个答案:

答案 0 :(得分:0)

select  count(max720) AS ...
union all
select  count(max720) AS ...

您可以根据需要使用任意数量的联盟,阅读unionunion all之间的区别,union将丢弃重复项。