SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 19.12.2007 23:49:49

FliT
Участник
Зарегистрирован: 19.12.2007
Сообщений: 6

подсчет одинаковых значений.

Подскажите плиз. Есть таблица вида:

ID    Name    Paswd    Mail   Level
1     test       test           X       0
2     test       test           X       1
3     test       test           X       1


Вот. Надо вывести значения по типу

Level 0   -   1
Level 1   -   2

т.е. подсчитать количество людей с левелами и вывести их количество.
Хелп. У меня уже мозг перегорел.


Если можно, то ответьте в асю - 165171988 или на мыло flit@inbox.ru

Неактивен

 

#2 19.12.2007 23:52:18

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: подсчет одинаковых значений.

Неактивен

 

#3 20.12.2007 00:07:42

FliT
Участник
Зарегистрирован: 19.12.2007
Сообщений: 6

Re: подсчет одинаковых значений.

это не то.
мне нужно, чтобы выводилось по типу:
Level 0 - 1
Level 1 - 2

напишите плиз пример...

столбик - rang,
таблица - users
Level'ы от 0 - 8

<?
require("connectdb.inc.php");
$sql=mysql_query("SELECT COUNT(DISTINCT rang) cs FROM users;");
$num1=mysql_num_rows($sql);
?>
<tr>
    <td width="121" align="left">&nbsp;Уровень 0  -
        </td>
    <td width="43" align="right">
      <?=$num1;?>    </td>
  </tr>

Неактивен

 

#4 20.12.2007 00:29:09

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5827

Re: подсчет одинаковых значений.

Почему не то?

$sql = "SELECT rang, count(*) cs FROM users GROUP BY rang";
$result = mysql_query($sql) or die(mysql_error());
while ($a = mysql_fetch_assoc($result)){
//вывод массива
  echo '<tr>
    <td width="121" align="left">&nbsp;Уровень '.$a["rang"].'  -
        </td>
    <td width="43" align="right">
      '.$a["cs"].'    </td>
  </tr>';
}

Отредактированно vasya (20.12.2007 00:35:22)

Неактивен

 

#5 20.12.2007 00:43:52

FliT
Участник
Зарегистрирован: 19.12.2007
Сообщений: 6

Re: подсчет одинаковых значений.

либо я не понимаю как это использовать, либо вы не поняли вопроса. while то мне зачем?

мне нужно вывести количество юзеров у которых ранг равен от 0 до 8
ранг     кол.юзеров
0       -        3
1       -        8
2       -        4
..
8       -        0
т.е. отдельно для каждого ранга.
ранг записан в таблице users в столбе rang
вот..как это сделать то...
Может можно ограничить  rang='0' и потом выводить?

Может кто напишет пример для вывода количества юзеров с рангом 0

Да, и еще нужно чтобы выводился 0, если юзеров с таким рангом нет.

Неактивен

 

#6 20.12.2007 00:47:41

FliT
Участник
Зарегистрирован: 19.12.2007
Сообщений: 6

Re: подсчет одинаковых значений.

vasya написал:

Почему не то?

$sql = "SELECT rang, count(*) cs FROM users GROUP BY rang";
$result = mysql_query($sql) or die(mysql_error());
while ($a = mysql_fetch_assoc($result)){
//вывод массива
  echo '<tr>
    <td width="121" align="left">&nbsp;Уровень '.$a["rang"].'  -
        </td>
    <td width="43" align="right">
      '.$a["cs"].'    </td>
  </tr>';
}

во. это работает. спасибо!
осталось решить вопрос по поводу вывода нуля при отсутствии юзеров с таким рангом.

Неактивен

 

#7 20.12.2007 00:59:50

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5827

Re: подсчет одинаковых значений.

FliT написал:

осталось решить вопрос по поводу вывода нуля при отсутствии юзеров с таким рангом.

Эту проверку Вам придется делать средствами php. Например, можете перед выводом массива $a прогнать его в цикле от 0 до 8 и дополнить отсутствующие значения нулями.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson