|
|
|
| В базе есть:
id_name_date
1_11111_555
2_11111_432
3_44444_345
4_39233_434
|
на выходе нужно получить
11111 - 2
44444 - 1
39233 - 1 | |
|
|
|
|
|
|
|
для: gagaBaH
(09.06.2006 в 17:33)
| | Можно воспользоваться следующим запросом
SELECT SUBSTRING(id_name_date,3,5) AS id_name_date,COUNT(SUBSTRING(id_name_date,3,5))
FROM test
GROUP BY id_name_date
|
| |
|
|
|
|
|
|
|
для: cheops
(09.06.2006 в 17:54)
| | или я не понял или изначально неверно пояснил.
id_name_date - это разные столбцы. т.е. id name date - просто я их соединил на примере "_" что бы не разъехались данные... и что значит 3,5 в запросе? | |
|
|
|
|
|
|
|
для: gagaBaH
(09.06.2006 в 18:04)
| | А, я думал это один столбец... тогда всё проще
SELECT name, COUNT(name) FROM tbl GROUP BY name
|
| |
|
|
|
|
|
|
|
для: cheops
(10.06.2006 в 00:46)
| | все равно не понял!
Сейчас так:
$result = mysql_query(\"SELECT *, COUNT(name) FROM еее GROUP BY name\");
while($rowers = mysql_fetch_array($result))
{
echo \"<br>\".$rowers[idpr];
}
|
выводит просто имена без их количества. А как получить значение (COUNT(name))
? | |
|
|
|
|
|
|
|
для: gagaBAH
(10.06.2006 в 14:54)
| |
<?
$result = mysql_query("SELECT idpr, name, COUNT(name) AS cnt FROM еее GROUP BY name") or die("Error " . mysql_error());
while($rowers = mysql_fetch_array($result))
{
$idpr = $rowers['idpr'];
$name = $rowers['name'];
$cnt = $rowers['cnt'];
echo "<br> $idpr - $name - $cnt";
}
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(10.06.2006 в 15:18)
| | Очень помог, спасибо большое | |
|
|
|
|
|
|
|
для: Trianon
(10.06.2006 в 15:18)
| | А возможли ли еще сделать вот какое действие: есть еще поле date в нем количество 1, 4, 2, 5 и т.д.
Можно ли что бы при выводе сгруппированных данные цифры со всех столбцов прибавлялись.
К примеру что бы так вышло
id | name | date
1 | 11111 | 555
2 | 11111 | 432
3 | 44444 | 345
4 | 39233 | 434
5 | 11111 | 2
|
на выходе
11111 - 3 - 989
44444 - 1 - 345
39233 - 1 - 434
Реально такое осуществить? | |
|
|
|
|
|
|
|
для: gagaBaH
(10.06.2006 в 16:55)
| |
<?
$result = mysql_query("SELECT idpr, name, COUNT(name) AS cnt, SUM(date) AS sm FROM еее GROUP BY name") or die("Error " . mysql_error());
while($rowers = mysql_fetch_array($result))
{
$idpr = $rowers['idpr'];
$name = $rowers['name'];
$cnt = $rowers['cnt'];
$sm = $rowers['sm'];
echo "<br> $idpr - $name - $cnt - $sm";
}
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(10.06.2006 в 18:39)
| | да, спасибо, разобрался ;) | |
|
|
|