Нужна помощь при выводе и подсчета данных из mysql

Статус
В этой теме нельзя размещать новые ответы.

karen12

Постоялец
Регистрация
26 Фев 2012
Сообщения
108
Реакции
4
Есть таблица client

id name
1 ------ Sergey
2 ------- Dima
3 ------- Sasha
4 ------- Sergey
5 ------- Olga
6 -- ------ Dima
7 -------- Sasha
8 -------- Sasha

Как видно из таблицы имя Sergey введен 2 раза, имя Dima 2 раза, имя Sasha 3 раза, имя Olga 1 раз
Ныжно вывести из Mysql, групировать выводимые числя вот так

name-count count
2 -------- 2
1 - ------- 3
1 --------- 1

Помагите с кодом пожалуйста.
 
Код:
SELECT name, count(id) FROM client GROUP BY name;
Sergey - 2
Dima - 2
Sasha - 3
Olga - 1
 
Последнее редактирование:
Код:
SELECT 
	t1.`count`
	, COUNT(t1.`count`) 
FROM 
(
	SELECT 
		`name`
		, COUNT(id) as `count`
	FROM 
		`client` 
	GROUP BY 
		`name`
) 
AS 
	t1 
GROUP BY 
	t1.`count`
;
1 1
2 2
3 1
Теперь я правильно понял? Решение не лучшее, но первое, что пришло в голову. Как минимум надо кэшировать.

@latteo, поправишь меня? :)
 
Код:
SELECT
    t1.`count`
    , COUNT(t1.`count`)
FROM
(
    SELECT
        `name`
        , COUNT(id) as `count`
    FROM
        `client`
    GROUP BY
        `name`
)
AS
    t1
GROUP BY
    t1.`count`
;
1 1
2 2
3 1
Теперь я правильно понял? Решение не лучшее, но первое, что пришло в голову. Как минимум надо кэшировать.

@latteo, поправишь меня? :)
и как вывести все это?
 
Так я ж запрос написал тебе ))) Выполни - получишь табличку, что я ниже написал.
 
Какую ошибку возвращает? Как выполняешь? Предыдущий мой запрос выводит что надо?
 
Какую ошибку возвращает? Как выполняешь? Предыдущий мой запрос выводит что надо?
я затрудняюсь с остальным кодом, все так запутанно

Какую ошибку возвращает? Как выполняешь? Предыдущий мой запрос выводит что надо?
Сделал вот так, но выводится только $row['count']

Код:
<table border="1">
<?php 
$res = mysql_query("SELECT t1.`count`, COUNT(t1.`count`) FROM (SELECT `name`, COUNT(*) as `count`FROM `clinet` GROUP BY `name`) AS t1 GROUP BY t1.`count`");
while($row = mysql_fetch_assoc($res)) {
echo '<tr>';
echo '<td>'.$row['t1'].'</td>';
echo' <td>'.$row['count'].'</td>';
}
?> 
</table>
 
Последнее редактирование модератором:
А причём тут $row['t1'] ? t1 - это ссылка на таблицу, а не на колонку.
К тому же у тебя есть открывающиеся теги, но нет закрывающихся - таблица едет...

PHP:
<table border="1">
<?php 
$res = mysql_query("SELECT t1.`count`, COUNT(t1.`count`) FROM (SELECT `name`, COUNT(*) as `count`FROM `clinet` GROUP BY `name`) AS t1 GROUP BY t1.`count`");
while($row = mysql_fetch_array($res)) {
echo '<tr>';
echo '<td>'.$row['0'].'</td>';
echo' <td>'.$row['1'].'</td>';
echo '</tr>';
}
?> 
</table>

И вообще, 21 век, пора переходить на mysqli...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху