Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите с MySQL запросом
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Помогите с MySQL запросом

Страниц (1): [1]
 

1. integer - 01 Ноября, 2006 - 08:11:35 - перейти к сообщению
Здравствуйте, есть в базе такая таблица:

fio city car
"Pupkin","Moscow","1"
"Ivanov","Moscow","1"
"Petrov","Moscow","0"
"Sidorov","Moscow","0"
"Shevcenko","Moscow","1"
"Kovalenko","Piter","0"
"gshsth","Piter","1"
"shthstrhdrt","Piter","1"
"sthtrhdsrthd","Piter","0"
"sththsst","Piter","0"
"seththtrh","Piter","0"
"rjnydtjty","Piter","0"
"sjtyhdt","Piter","1"
"snrhrhgf","Piter","1"
"sdjjdt","Piter","0"
"srthhrdth","Piter","0"
"srhthrth","Piter","1"
"shthrthr","Rostow","1"
"shrthdtrh","Rostow","0"
"sthrthrth","Rostow","1"

1я колонка - фамилия, 2я - город, 3я - наличие автомобиля (1-есть, 0- нет)
Мне нужно составить запрос, чтобы вывести данные в браузер в виде такой таблицы

Город Людей(всего) Людей(с автомобилем)
Moscow 5 3
Piter 12 5
Rostow 3 2

Делаю так:

CODE (text):
скопировать код в буфер обмена
  1. print "<table>";
  2. $result = mysql_query("SELECT city, COUNT(*) AS total FROM people GROUP BY city;");
  3.  
  4. while ($string = mysql_fetch_array($result))
  5.       {
  6.  
  7. print "<tr align=center>".
  8. "<td>".$string["city"]."</td>".
  9. "<td>".$string["total"]."</td>".
  10. "<td>".$string["cars"]."</td></tr>";
  11.  
  12.       }
  13.  
  14. print"</table>";
  15.  


Но получается подсчитать только количество людей в городах, количество машин как ни крутил - не выходит.
Двумя словами - подсчитать количество людей(полное) и количество людей с автомобилями в каждом отдельном городе. Это нужно сделать в одном запросе.

Помогите если сможете.
2. kilexx - 01 Ноября, 2006 - 15:56:41 - перейти к сообщению
SELECT city, count(*) as total, sum(car) as cars
FROM people
GROUP BY city;
3. integer - 01 Ноября, 2006 - 20:04:19 - перейти к сообщению
kilexx, спасибо, я и сам днем разобрался.
MySQL учу 2 дня, про sum() тока седня прочитал =)

 

Powered by ExBB FM 1.0 RC1