- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый вечер господа.
Подскажите пожалуйста, как одним запросом вынуть 2 столбика и сделать подсчет каждого?
Пример
$q="SELECT count(*) FROM news";
$res=mysql_query($q);
$row=mysql_fetch_row($res);
$total_news=$row[0];
я получил количество новостей.
Но у меня есть поле power int(2) значений всего два, это 0 и 1
Так вот мне надо подсчитать еще и сколько нулей в ячейке power .
Спасибо.
дани мапов, шутите? А для 20 полей будете делать 20 подзапросов?
seosniks,
Один из методов "влоб"
select count(*) as totalnews, sum(if(power=1,1,0)) as power1, sum(if(power=0,1,0)) as power0 from news
Для Вашего случая с 1 и 0 можно даже проще
select count(*) as power1and0, sum(power) as power1 from news
А что вас не устраивает? Я дал читабельный рабочий запрос. У вас же даже названия таблицы неправильно прописано. Не говоря уже о том, что ТС нужна не сумма значений)), а количество записей, где нули.
Вот глядите это одно и тоже
но разные ячейки.
Просто надо взять одним запросом.
$q="SELECT count(*) FROM news where id";
$res=mysql_query($q);
$row=mysql_fetch_row($res);
$total_news=$row[0];
$q="SELECT count(*) FROM news where power";
$res=mysql_query($q);
$row=mysql_fetch_row($res);
$total_power=$row[0];
---------- Добавлено 25.12.2012 в 23:42 ----------
А что вас не устраивает? Я дал читабельный рабочий запрос. У вас же даже названия таблицы неправильно прописано. Не говоря уже о том, что ТС нужна не сумма значений)), а количество записей, где нули.
Вы все верно говорите, но у меня там 2 ячекйи в одной будет подсчет всего новостей.
В другой только не активированных новостей, тоесть на модерации.
И если 0 то модерация если 1 то активировано, мне для статистики надо.
P.S
что то не хочет работать, мож что не так делаю?
В сети порылся но там везде из двух таблиц выборка идет.
---------- Добавлено 25.12.2012 в 23:44 ----------
И еще сразу вопросик, зачем добавляют сокращенные имена псевдонимы?
SELECT [DISTINCT|ALL] *|<имена столбцов>
[AS <новые имена>] FROM <имена таблиц> [<псевдонимы>] [<условие внешнего объединения таблиц>] [WHERE <предикат> [AND <условие внутреннего объединения таблиц>]]
[GROUP BY [ROLLUP|CUBE|GROUPING SET(<список столбцов>)]|<список столбцов> [HAVING <предикат>]]
[ORDER BY <список имен|номеров столбцов> [COLLATE <список сопоставления>][ASC|DESC]]
Это 100% рабочий запрос, взял с stackoverflow.com, и часто меня выручает. Смотрите внимательней, наверно что-то не дописали здесь, потому что во втором примере различаются условия.
Это 100% рабочий запрос, взял с stackoverflow.com, и часто меня выручает. Смотрите внимательней, наверно что-то не дописали здесь, потому что во втором примере различаются условия.
Спасибо Вам, действительно у меня переменная вывода была другой.
Все шепчет.
Если не трудно подскажите пожалуйста
total_news это временная переменная?
power_news
Или чертой _ их можно связывать? Типа как news.power
Просто я все забыл наиг, 2 года не работал с базами )))
Это псевдонимы, их использовать необязательно, также можно дать другие названия. Можно использовать, например в ORDER BY и HAVING.