Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 05.12.2015
Сообщений: 2
1

Как подсчитать общее количество числовых значений во всей таблице mysql

05.12.2015, 12:24. Показов 777. Ответов 7
Метки нет (Все метки)

Здравствуйте! Подскажите пожалуйста, есть база mysql с текстовыми и числовыми значениями, как подсчитать общее количество положительных числовых значений и вывести их количество на экран
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2015, 12:24
Ответы с готовыми решениями:

Как в Excel подсчитать количество числовых значений из столбца А, которые больше чем значения в столбце B?
Нужно решить 2 задачи: 1. Как в Excel подсчитать количество числовых значений из столбца А,...

Подсчитать общее количество отказов в таблице «Отказы»
Мне нужна помощь специалистов в Access. Сама я далека от этого, но возникла потребность создать БД...

Обновить в таблице MySQL записи так, чтобы счётчик и дальше показывал общее количество
Есть вопросик! Имеется таблица, одно поле в которой счётчик (auto_increment). После того, как...

Надо подсчитать количество значений ''1'' в таблице www в столбце Столбец1
Подскажите пожалуйста, что я делаю не так Private Sub Command1_Click() Dim dbsNorthwind As...

7
101 / 100 / 51
Регистрация: 19.04.2011
Сообщений: 952
05.12.2015, 13:16 2
Как вариант (не проверял):
PHP
1
2
3
4
5
6
7
8
9
$count = 0;
while ($rec = mysqli_fetch_assoc($query))
{
    if (preg_match('#[0-9]#', $rec) and $rec > 0)
    {
        $count + $rec;
    }
}
echo $count;
0
149 / 138 / 53
Регистрация: 15.06.2013
Сообщений: 1,006
05.12.2015, 17:48 3
Почитайте про регулярные выражения в mysql. В гугле информации полно.
0
12 / 11 / 8
Регистрация: 04.12.2013
Сообщений: 323
05.12.2015, 20:43 4
Будет рабить или нет, не проверял...

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$a = 0;
$b = 0;
$query_a = mysqli_query($connect, "SELECT `text` FROM `base`");
while ($row_a = mysqli_fetch_assoc($query_a)) {
$a++;
}
$query_b = mysqli_query($connect, "SELECT `numbers` FROM `base`");
while ($row_b = mysqli_fetch_assoc($query_b)) {
$b++;
}
 
echo $a + $b;
0
149 / 138 / 53
Регистрация: 15.06.2013
Сообщений: 1,006
05.12.2015, 23:53 5
Наверное не сильно хорошо качать всю таблицу из базы
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,597
06.12.2015, 02:02 6
Цитата Сообщение от MadHatter Посмотреть сообщение
Наверное не сильно хорошо качать всю таблицу из базы
а тут и не вся таблица, а только значения из определенной ячейки
Цитата Сообщение от Lincord Посмотреть сообщение
SELECT `numbers` FROM `base`
0
101 / 100 / 51
Регистрация: 19.04.2011
Сообщений: 952
06.12.2015, 05:57 7
Цитата Сообщение от Lincord Посмотреть сообщение
$b++;
Прибавит один, как я понял числа могут быть и больше одно.
Темболее:
Цитата Сообщение от swallou18 Посмотреть сообщение
положительных числовых значений
То есть считать надо не все подряд. Надо делать проверку, либо после запроса, либо в самом запросе. Думаю лучше делать выборку сразу с условием на положительные числа.
0
0 / 0 / 0
Регистрация: 05.12.2015
Сообщений: 2
06.12.2015, 09:39  [ТС] 8
Проблема в том, что в базе есть пустые таблицы, а мой скрипт все равно считает какой-то результат, глаз уже замылился, не могу найти в чем ошибка

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
<!DOCTYPE html>
<html>
  <head>
<meta charset="UTF-8">
    <title>Задание 6</title>
  </head>
  <body>
    <?php
 
      // Количество строк на странице
      $countRowsPerPage = 50;
      // Режим отображения по умолчанию
      $defaultMode = 'databases';
      // Доступные режимы отображения
      $modes = array(
        // Базы данных
        'databases',
        // Таблицы базы данных
        'tables',
        // Поля таблицы
        'table',
        // Список записей
        'list'
      );
 
      // Обрабатываем полеченные данные
      $mode = isset($_GET['mode']) ? $_GET['mode'] : $defaultMode;
      $dataBase = isset($_GET['database']) ? $_GET['database'] : '';
      $table = isset($_GET['table']) ? $_GET['table'] : '';
      $page = isset($_GET['page']) ? intval($_GET['page']) : 1;
 
     //$order = isset($_REQUEST['order']) ? $_REQUEST['order'] : 'id';
      // $direction = isset($_REQUEST['direction']) ? $_REQUEST['direction'] : 'asc';
 
      if (!in_array($mode, $modes)) {
        $mode = $defaultMode;
      }
 
      // Хост
      $host = 'localhost';
      // Пользователь
      $user = 'root';
      // Пароль
      $pass = '';
      // База данных
      $dbName = $dataBase;
 
      // Подключаемся к БД
      $link = new mysqli($host, $user, $pass, $dbName);
 
      // Проверяем на подключение, если нет подключения выдаем сообщение
      if (mysqli_connect_errno()) {
        printf('Подключение к серверу MySQL невозможно. Код ошибки: %s', mysqli_error($link));
        exit();
      }
 
      // Запросы
      switch ($mode) {
        case 'databases':
          $query = 'SHOW databases';
          break;
        case 'tables':
          $query = 'SHOW tables';
          break;
        case 'table':
          $query = 'SHOW FIELDS FROM `'.$table.'`';
          break;
        case 'list':
          $orderQuery = '';
          if(!empty($order) && !empty($direction)) {
            $orderQuery = ' ORDER BY `'.$order.'` '.$direction;
          }
          $query = 'SELECT * FROM `'.$table.'`'.$orderQuery.' LIMIT '.($page - 1) * $countRowsPerPage.','.$countRowsPerPage;
          break;
        default:
          $query = 'SHOW databases';
      }
 
      switch ($mode) {
        case 'list': // Для списка записей создаем таблицу
          echo '<table>';
          break;
      }
 
      // Обработка результатов
      if ($result = mysqli_query($link, $query)) {
        switch ($mode) {
          case 'databases':
            echo '<div>Базы данных:</div>';
            break;
          case 'tables':
            echo '<div>База данных '.$dataBase.'</div>';
            echo '<div>Таблицы:</div>';
            break;
          case 'table':
            echo '<div>Таблица '.$table.'</div>';
            echo '<div>Поля:</div>';
            break;
          case 'list':
            echo '<div>Таблица '.$table.'</div>';
            echo '<div>Записи:</div>';
            break;
        }
        $isFirst = true;
        while ($row = mysqli_fetch_assoc($result)) {
          switch ($mode) {
            case 'databases':
              echo '<a href="?mode=tables&database='.$row['Database'].'">'.$row['Database'].'</a><br>';
              break;
              
            case 'tables':
            [COLOR="Red"]$temp1 = $row['Tables_in_'.$dataBase];
            $intt= $link->query("SELECT column_name FROM information_schema.columns WHERE table_schema = '$dataBase' AND table_name = '$temp1' and data_type IN ('int')");
         //  $cc = mysqli_num_rows($link->query("select * from $temp1"));
            while ($rr=mysqli_fetch_array($intt)) {
            $check = mysqli_fetch_array($link->query("select sum(c) as s from (SELECT count($rr[0]) as c FROM $temp1 where $rr[0] >= 0) as d"));
            }
            @$check['s'] = !is_null($check['s']) ? $check['s'] : $check['s']=0;
 
echo '<a href="?mode=table&database='.$dataBase.'&table='.$row['Tables_in_'.$dataBase].'">'.$row['Tables_in_'.$dataBase].'</a> ('.$check['s'].')<br>';[/COLOR]
              break;
              
            case 'table':
              echo '<span>'.$row['Field'].' ['.$row['Type'].']</span><br>';
              break;
            case 'list':
              if ($isFirst) {
                $first = '<tr>';
              } else {
                $first = '';
              }
              $second = '<tr>';
              foreach ($row as $field => $value) {
                if ($isFirst) {
                  $directionToLink = $direction == 'asc' ? 'desc' : 'asc';
                  $first .= '<th><a href="?mode='.$mode.'&database='.$dataBase.'&table='.$table.'&order='.$field.'&direction='.$directionToLink.'&page='.$page.'">'.$field.'</a></th>';
                }
                $second .= '<td>'.$value.'</td>';
              }
              if ($isFirst) {
                $first .= '</tr>';
              }
              $second .= '</tr>';
              echo $first.$second;
              break;
          }
          $isFirst = false;
        }
 
        switch ($mode) {
          case 'table':
            echo '<a href="?mode=list&database='.$dataBase.'&table='.$table.'">Показать записи таблицы</a>';
            break;
          case 'list':
            echo '</table>';
            // Постраничная навигация
            $q = 'SELECT count(*) as `count` FROM `'.$table.'`';
            if($r = mysqli_query($link, $q)) {
              $rc = mysqli_fetch_assoc($r);
              $countRows = $rc['count'];
 
              // Проверяем полные ли страницы
              $isFullPages = $countRows % $countRowsPerPage == 0;
 
              $countPages = intval($countRows / $countRowsPerPage);
              for($i = 1; $i <= $countPages; $i++) {
                if($i == $page) {
                  echo '<span>'.$i.'</span>&nbsp;';
                } else {
                  echo '<a href="?mode=list&database='.$dataBase.'&table='.$table.'&page='.$i.'&order='.$order.'&direction='.$direction.'">'.$i.'</a>&nbsp;';
                }
              }
 
              if(!$isFullPages) {
                if($i == $page) {
                  echo '<span>'.$i.'</span>&nbsp;';
                } else {
                  echo '<a href="?mode=list&database='.$dataBase.'&table='.$table.'&page='.$i.'&order='.$order.'&direction='.$direction.'">'.$i.'</a>&nbsp;';
                }
              }
            }
 
            break;
        }
      } else {
        printf('Подключение к серверу MySQL невозможно. Код ошибки: %s', mysqli_error($link));
        exit();
      }
 
      $params = '';
 
    ?>
    <div>
      <a href="/<?= $params ?>">На главную</a>
    </div>
  </body>
</html>
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2015, 09:39

Как найти количество числовых значений диапазона
Нужно найти количество числовых значений диапазона с помощью VBA

Общее количество цифр в числовых значениях всех положительных элементов массива
Ребята, пожалуйста, помогите написать программу! :( уже голову сломала... Дан целочисленный...

Как вывести общее количество значений в диапазоне?
Добрый день. Вот возникла такая задача. В диапазоне A1:T20 есть прямоугольное поле 20х20, клетки...

Как подсчитать сколько каждый кассир продал общее количество товара?
Всем привет! Такой вопросик. Есть база, в ней список кассиров продавших товар. Как подсчитать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.