Всем привет! Задача: создать запрос с помощью которого бы создавался массив с подсчитанными значениями одного столбца. Пример таблицы t: type_a 2 3 1 1 1 пишу запрос: Код (Text): $qery="SELECT count(type_a=1), count(type_a=2), count(type_a=3) FROM t"; $table=mysql_query($query); $table_=mysql_fetch_array($table); По моему (неправильному) мнению массив должен получиться таким: $table_[type_a=1]=3 $table_[type_a=2]=1 $table_[type_a=3]=1 Однако так не получается. Пожалуйста помогите составить правильный запрос. Еще нюанс. Делать три запроса с "...where type_a=..." не получится, запрос должен быть один. Заранее благодарен за помощь!
то же не пойдет, условие должно быть до WHERE. На самом деле это упрощенная версия запроса, после "WHERE" там еще куча условий. Почему "SELECT count(*) FROM t", то есть все записи считает правильно, а "SELECT count(type_a=1) FROM t" выдает какую то фигню? Я понимаю, что по всей видимости фигню пишу - фигню выдает, но как тогда сделать правильно?
Да говорю же group by нельзя, группировка будет по другим условиям. Надо эту задачу решить до WHERE. Хотел рисунок из phpMyAdmin прикрепить, но не знаю как. В общем ответ на мой запрос "SELECT count(type_a =1), count(type_a =2), count(type_a =3) FROM t" такой (выдает в виде таблицы): type_a=1 type_a=2 type_a=3 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 т.е. осталось подсчитать количество единиц в каждом столбце (как???), но count упорно не хочет этого делать.
Никто не помог, пришлось потратить ночь, но решил САМ!))) Вот запрос: Код (Text): SELECT (SELECT type_a FROM t AS b WHERE type_a=1), (SELECT type_a FROM t AS b WHERE type_a=2), (SELECT type_a FROM t AS b WHERE type_a=3) FROM t AS a a и b ввел т.к. в моем случае после FROM t AS a есть еще WHERE... и т.д. и необходимо еще кой-чего выбрать. Может конечно и топорно, но в моем случае работает отлично (если есть идеи как упростить - буду благодарен). Всем спасибо, а artoodetoo идет в угол жевать сено (хе-хе-хе!)
Мда товарищ, ты крут Слушай просто уже интересно становится а что ты сделаешь когда type_a будет 200?