Объеденить два запроса

Тема в разделе "Базы данных", создана пользователем Q_BASIC, 18 ноя 2014.

Модераторы: latteo
  1. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    385
    Симпатии:
    254
    Есть запрос:
    PHP:
    $db->query('SELECT * FROM `table` COUNT(DISTINCT `ip`) as `uu`, COUNT(*) as `u` WHERE `y`='$kp_date['y'] .' AND `m`='$kp_date['m'] .' AND `d`='$kp_date['d']);
    Мы получаем:
    "uu" - уникальные хосты
    "u" - все обновления страницы

    Надо еще получить кол-во записей с
    Код:
    `y`='. $kp_date['y'] .' AND `m`='. $kp_date['m'] .' AND `d`='. $kp_date['d']
    и что бы в столбце "browser" не было "bot"
    `browser` NOT LIKE "%bot%"


    Надо это всё как-то в один запрос
     
    Последнее редактирование: 18 ноя 2014
  2. Sankaboy

    Sankaboy Постоялец

    Регистр.:
    1 фев 2012
    Сообщения:
    112
    Симпатии:
    3
    Не совсем корректный вопрос у тебя, в плане того что не известно типы полей та и в обще смысла в целом.
    Примерно так:

    $db->query('SELECT COUNT(DISTINCT `ip`) as `uu`, COUNT(*) as `u` FROM `table` WHERE `y`='. $kp_date['y'] .' AND `m`='. $kp_date['m'] .' AND `d`='. $kp_date['d'] AND `browser` NOT IN ('bot'));


    "Надо еще получить кол-во записей с" - так же дописываешь как и "COUNT(DISTINCT `ip`) as `uu`, COUNT(*) as `u`". Через запятую!
     
  3. newminer

    newminer Создатель

    Регистр.:
    21 апр 2015
    Сообщения:
    13
    Симпатии:
    4
    если не касаться бота(о нем не понял сути вопроса:(
    Объединить таблицу саму с собой:
    Код:
    select count(distinct a.ip) as distinct_ip, count(a.id) as count_zaprosov, count(b.id) as kol_by_yslovie from tabl a left join tabl(Та же самая) b on a.id=b.id and b.y=kp_date_y and b.d=kp_date_d   
    так будет работать если есть id - уникальный идентификатор строки в таблице