Нужно вывести количество записей с одинаковыми именами

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
xBUTCHERx
Сообщения: 5
Зарегистрирован: 24 июн 2008, 02:27

Доброго времени суток! Такая вот задача:
К примеру есть база данных "l2jdb", в ней таблица "spisok" в ней есть поля: id, nick. содержатся в таблице к примеру 10 записей с именем (nick) "Вася", 5 записей с именем "федя". Нужно вывести имя "Вася" и рядом количество записей с именем "Вася", и точно также для имени "федя".

К примеру, вот значения в базе:
ID='1' nick='NOOB'
ID='11' nick='NOOB'
ID='222' nick='NOOB'
ID='4' nick='LOL'
ID='555' nick='LOL'

а должно будет выдать такие вот результаты::
имя: NOOB количество: 3
имя: LOL количество: 2

___________________________
пробовал делать саму процедуру вот так:

$sql="SELECT COUNT(nick) FROM spisok GROUP BY nick";
$result=mysql_query($sql);
echo "$result";

в итоге выводит:
Resource id #4
бред((
Помогите пожалуйста кто чем может
xBUTCHERx
Сообщения: 5
Зарегистрирован: 24 июн 2008, 02:27

Еще пробовал вот так:

Код: Выделить всё

$sql="select DISTINCT nick from spisok ORDER BY nick DESC";
$result=mysql_query($sql);
$gg=mysql_fetch_array($result);

$query = 'SELECT DISTINCT COUNT(nick) FROM spisok';
$q = mysql_query ($query);
$row = mysql_fetch_array ($q);

echo $gg['nick'];
echo $row['COUNT(nick)'];

Но оно выводит кол-во всех записей поля "nick" из таблицы (( Тоже не то
xBUTCHERx
Сообщения: 5
Зарегистрирован: 24 июн 2008, 02:27

жаль что никто так и не может помочь в такое нелегкой ситуации(
Vasilisk
Сообщения: 116
Зарегистрирован: 13 фев 2004, 18:43

А доку по SQL MySQL прочитать - слабо? :( Ей-богу, быстрее бы сделал, чем ждать милостей у природы...

$sql="SELECT NICK,COUNT(*) AS CNT FROM SPISOK WHERE NICK="Фёдор";
$result=mysql_query($sql);
$row=mysql_fetch_array($result,MYSQL_ASSOC);

В $row['CNT'] будет содержаться число записей "Фёдор".

Возможные извращения читай в доке MySQL на функцию COUNT
Serge_Bliznykov
Сообщения: 375
Зарегистрирован: 31 авг 2007, 03:06

&quot писал(а):А доку по SQL MySQL прочитать
+1

К ответу Vasilisk добавлю, если нужно получить количество по всем никам, то запрос будет такой:
SELECT NICK,COUNT(*) AS CNT FROM SPISOK GROUP BY NICK
xBUTCHERx
Сообщения: 5
Зарегистрирован: 24 июн 2008, 02:27

$sql = 'select NICK,COUNT(*) AS CNT FROM SPISOK WHERE NICK="TERORIST"' ;
$result=mysql_query($sql);
$row=mysql_fetch_array($result,MYSQL_ASSOC);

echo "".$row['CNT']."";

в итоге ничего не выводит
Vasilisk
Сообщения: 116
Зарегистрирован: 13 фев 2004, 18:43

DDL-скрипт, описывающий таблицу - в студию...
xBUTCHERx
Сообщения: 5
Зарегистрирован: 24 июн 2008, 02:27

$sql = 'select NICK,COUNT(*) AS CNT FROM SPISOK WHERE NICK="TERORIST"' ;
$result=mysql_query($sql);
$row=mysql_fetch_array($result,MYSQL_ASSOC);

echo "<table border=0 >";
echo "<tr><td><B>№</B></td>";
echo "<td><B>Ник</B></td></tr>";

for($i=0;$i<$row;$i++) {



echo "<tr><td>".$row["id"]."</td>";

echo "<td>"".$row['CNT'].""</td></tr>";

};
echo '</table>';
Ответить