#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 нужно подсчитать несколько столбцов строк, но другие с некоторым условием..