2016-03-09 68 views
2

我试图结合我的SQL查询并一次性获取他们的结果。我尝试了许多JOIN方法,但都失败了。如何将同种查询与不同变量结合起来

由于性能对我的网站很重要,所以我不想单独提取它们,并希望将它们全部结合起来。哪种方法是最好的方法?我需要学习清楚的方法,因为我将以相同的方式实现所有类似的查询。 PS:我知道mysql_query已被弃用,我需要升级到PDO或mysqli_query。但是,我需要在这个项目中使用mysql_query,因为一个特殊的原因。

+1

你尝试过'union'还是你也可以做一个'subquery'? –

回答

1

可以使用conditional aggregationjoin在单个行返回的所有记录:

select 
    sum(case when u.bakiye >= u2.bakiye then 1 
      else 0 end) bakiye_count, 
    sum(case when u.kackatinahafta >= u2.kackatinahafta then 1 
      else 0 end) kackatinahafta_count, 
    sum(case when u.nekadarhafta >= u2.nekadarhafta then 1 
      else 0 end) nekadarhafta_count, 
    ... 
from uye u 
    join uye u2 on u2.id = '$profilid' 

此假设uye对id字段重复记录。

相关问题