результат множественного подсчета sql неверен при просмотре

#php #mysql

#php #mysql

Вопрос:

mytable :

 id   name    value      prob
  
 1    andy    100         0
2    luna    0           1
3    joe     0           0
4    linda   50          3
5    rob     25          2
6    steph   100         0
7    rudy    0           0
  
 <?php
$con = mysql_connect('localhost','root','') or die(mysql_error());
$db = mysql_select_db('mydb') or die (mysql_error());
     $sql   = "SELECT Count(*) AS total, 
                      (SELECT Count(*) FROM mytable WHERE mytable.value=100) AS filled, 
                      (SELECT Count(*) FROM mytable WHERE mytable.prob>=1) AS problems 
               FROM mytable";

     $query = mysql_query( $sql )  or die(mysql_error());
              while( $rows = mysql_fetch_array( $query ) ){
              $totals=$rows['total'];
              $fills=$rows['filled'];
              $probs=$rows['problems'];
 ?>
             TOTAL <?php echo $totals; ?>
             CLEARED <?php echo $fills; ?>
             PROBLEMS <?php echo $probs; ?>     
<?php } ?>
  

я генерирую запрос с помощью navicat .. и результат был правильным, но при записи кода на мой взгляд получаем :

 TOTAL 7
CLEARED 0
PROBLEMS 0
  

нужны такие результаты :

 TOTAL 7
CLEARED 2
PROBLEMS 3
  

Комментарии:

1. На каком основании вы устраняете проблему? Какое-либо значение для этого?

2. Попробуйте использовать псевдоним в подзапросе… пример: (ВЫБЕРИТЕ Count(*) ИЗ mytable mt1, ГДЕ mt1.value= 100)

3. Если вы хотите подсчитать, вам не нужно использовать вложенные запросы, которые вы можете получить с помощью php. Также обратите внимание, что mysql_ * устарели и закрываются в Php 7

4. @Baro я пытаюсь использовать его .. его результат был правильным в navicat .. то же самое с моим запросом выше .. но смущен, когда повторяю результат, я получаю проблему на мой взгляд

5. @devpro нужно подсчитать несколько столбцов строк, но другие с некоторым условием..