Добрый вечер! Есть 2 таблицы: 1)Категории id | text (таблица categories) 1 книги 2 музыка Вывод категорий на печать: PHP: <? $result2 = mysql_query("SELECT * FROM categories ",$db); $myrow2 = mysql_fetch_array($result2); do { printf ("<p class='point'><a class='nav_link' href='view.php?cat=%s'>%s</a> </p>",$myrow2["id"],$myrow2["title"]); } while ($myrow2 = mysql_fetch_array($result2)); } ?> результат: книги музыка 2) таблица с данными: data: id | cat | text 1 1 ass 2 1 sfs 3 2 sfsdf 4 2 sfs 5 2 sfsdf Необходимо вывести в браузере количество одинаковых записей из таблицы data и престыковать к категориям, чтобы получить в результате: Книги(2) Музыка(3) Подсчет количества: PHP: SELECT cat, COUNT(cat) FROM data GROUP BY cat. Подскажите как добавить этот результат к выводу всех категорий ? Заранее благодарен!
Не получится DISTINCT выберет уникальные значения, Count просто подсчитает. А мне надо вывести результат COUNT престыкованный к циклу вывода всех категорий
Так попробуй. [sql]SELECT cat, (SELECT count(cat)) AS count FROM data GROUP BY cat[/sql] Поправил, у меня работает.
jov27384 Спасибо, попробовал, но выдает ошибку : Ответ MySQL: #1064 - You have an error in your SQL syntax near 'SELECT count( cat ) ) AS count FROM DATA GROUP BY cat' at line 2 PHP Version 4.3.6
А какая версия MySQL??? У меня по всякому работает! И так тоже [sql] SELECT cat, COUNT(cat) FROM data GROUP BY cat [/sql] У меня 5.1.49 все работает. [sql]/* mysql> /* COUNT() and GROUP BY mysql> Number of animals per species: mysql> */ mysql> SELECT species, COUNT(*) FROM Bird GROUP BY species; +---------+----------+ | species | COUNT(*) | +---------+----------+ | Bus | 2 | | Car | 1 | +---------+----------+ 2 rows in set (0.00 sec) */ Drop table Bird; CREATE TABLE Bird ( name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE ); INSERT INTO Bird VALUES ('BlueBird','Joe','Car','f','1999-03-30',NULL); INSERT INTO Bird VALUES ('RedBird','Yin','Bus','m','1979-04-30',1998-01-30); INSERT INTO Bird VALUES ('RedBird','Yin','Bus','m','1998-01-30',NULL); /* COUNT() and GROUP BY Number of animals per species: */ SELECT species, COUNT(*) FROM Bird GROUP BY species; [/sql]
Версия 4.3.6 Запрос [sql]SELECT cat, COUNT(cat) FROM data GROUP BY cat[/sql] работает. Главная проблема - не знаю как вывести результат в цикле на экран, вместе со всеми категориями. Например если по категории нет заметок то вывести 0, если есть подсчитать количество в таблице data. Как пример ebay - слева вывод всех категрий, в кавычках количество записей в базе.
Fidlestick Может как то так: [sql]SELECT categories.text, COUNT(cat) as count FROM categories LEFT JOIN data ON categories.id = data.cat GROUP BY text ASC[/sql] А вообще учите SQL