Каким образом посчитать количество за сегодня

Тема в разделе "Базы данных", создана пользователем zaffasoft, 27 фев 2011.

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

    zaffasoft Создатель

    Регистр.:
    2 янв 2007
    Сообщения:
    42
    Симпатии:
    7
    Имеется таблица

    tipdate
    2011-02-14 10:31:54
    2011-02-13 09:31:54

    каким образом составить запрос чтобы посчитывал количество категории за сегодня?
    Пытался составить таким образом.
    PHP:
    SELECT COUNT(id) AS totalCURDATE (tipdate)
                
    FROM art
                WHERE catid
    =1
     
  2. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    PHP:
    $query "SELECT COUNT(1) AS total FROM art 
       WHERE tipdate > '"
    .date('Y-m-d')."'";
    А вот за любой день:
    PHP:
    $date '2010-01-01';
    $query "SELECT COUNT(1) AS total FROM art 
       WHERE tipdate > '"
    .date('Y-m-d',strtotime($date))."'
       AND tipdate < '"
    .date('Y-m-d',strtotime($date)+24*3600)."'";
     
    zaffasoft нравится это.
  3. zaffasoft

    zaffasoft Создатель

    Регистр.:
    2 янв 2007
    Сообщения:
    42
    Симпатии:
    7
    Я сделал таким образом,
    PHP:
    SELECT COUNT(1) AS total FROM art  
       WHERE tipdate 
    CURDATE() ;
    Вопрос: Каким образом нужно правильно составить несколько операции запосов в один запрос.
    Ниже указанный запрос у меня, работает, теперь хотелось бы добавить выше указанный запрос. Проблема в том, что выводит ошибку синтаксиса.
    PHP:
    SELECT art_catg.`name`, art_catg.`cid`, COUNT(art.`catid`) AS totalpik,
    COUNT (1) as totaltoday 
                FROM art
                INNER JOIN art_catg
                ON art
    .`catid`=art_catg.`cid
                
    GROUP BY art.`catid`    
                
    ORDER BY COUNT(art.`catid`) DESC
                LIMIT 0 
    14
    без добавления запроса подсчета по дате, у меня работает.
    PHP:
    SELECT art_catg.`name`, art_catg.`cid`, COUNT(art.`catid`) AS totalpik
                FROM art
                INNER JOIN art_catg
                ON art
    .`catid`=art_catg.`cid
                
    GROUP BY art.`catid`    
                
    ORDER BY COUNT(art.`catid`) DESC
                LIMIT 0 
    14