Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - нужно сделать подсчет в процентах

Ответить
Настройки темы
MySQL - нужно сделать подсчет в процентах

Новый участник


Сообщения: 15
Благодарности: 1

Профиль | Отправить PM | Цитировать


здравствуйте. есть пользователи и нужно в процентах подсчитать сколько мужчин и женщин. я как понимаю в запросе делается это все, а не средствами php.

Отправлено: 16:34, 30-10-2009

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


А как в базе отмечены М и Ж? кто мешает написать вот так:
Код: Выделить весь код
select (count(мужчин) / count(всего_людей) * 100 ) as 'Процент мужчин'?

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:10, 02-11-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Delirium, сопротивление СУБД мешает Параметр в COUNT() - имя столбца. И считать надо всё по одному столбцу. Я полчаса сидел и решал эту задачку. Дошёл уже до UNION'ов и JOIN'ов, но как-то не осилил. Почему-то подзапросы моя MySQL'ка не обрабатывает, а без них ничего и не выходит.
sure777, может быть всё-таки средствами php? Два запроса:
Код: Выделить весь код
SELECT COUNT(*) AS `m` FROM `users` WHERE `sex`='m';
SELECT COUNT(*) AS `all` FROM `users`;
а потом одно делить на другое; из единицы вычесть результат деления.
Либо так:
Код: Выделить весь код
SELECT COUNT(*) AS `num` FROM `users` WHERE `sex`='m' UNION SELECT COUNT(*) FROM `users`;
Тогда вернёт столбец num с двумя строками - кол-во мужчин и общее количество пользователей. Можно добавить и строку с женщинами, если имеется и третий пол - неопределённый.
Но посчитать проще средствами php)

Отправлено: 04:01, 02-11-2009 | #3


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата Coutty:
Параметр в COUNT() - имя столбца. И считать надо всё по одному столбцу. »
Цитата sure777:
есть пользователи и нужно в процентах подсчитать сколько мужчин и женщин »
если есть пользователи, то наверняка есть булево или чар поле (bool, char), в которых есть 1-0 или М-Ж. Count по этому столбцу посчитать не проблема же? Сделать временную таблицу в памяти из нескольких полей (мужчин, женщин, всего). И потом уже считать как надо.
Примерно вот так если:

Код: Выделить весь код
create table #Percentage 
(
[men] int,
[women] int,
[totalcount] int
)
insert into #Percentage ([men])
    select count(people) from OriginalTable where Sex= 'МУЖИК'
   
insert into #Percentage ([women])
    select count(people) from OriginalTable where Sex= 'ЖЕНЩИНА'

insert into #Percentage ([totalcount])
    select count(people) from OriginalTable

select ([men] / [totalcount] * 100 ) as 'Процент мужчин' from #Percentage 
select ([women] / [totalcount] * 100 ) as 'Процент женщин' from #Percentage
drop table #Percentage
Так не пойдет?

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 09:02, 02-11-2009 | #4


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Delirium, не проще ли через php?

Отправлено: 19:08, 02-11-2009 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - нужно сделать подсчет в процентах

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
нужно сделать iso образ диска чем быстро можно его сделать и как Alko Автоматическая установка Windows 2000/XP/2003 4 22-01-2010 19:58
Нужно сделать из 2-ух мониторов 1 рабочее пространство. DeePSYnTez Видеокарты 0 13-05-2009 11:06
[решено] Нужно сделать клик в браузере ph0en1x AutoIt 5 10-02-2009 11:06
Доступ - нужно сделать в ХР NAT соединение... shibzik Microsoft Windows 2000/XP 11 27-09-2007 19:44




 
Переход