Главная страница


su.dbms.sql

 
 - SU.DBMS.SQL ------------------------------------------------------------------
 From : Alex Mikhajlichenko                  2:5020/400     13 Feb 2001  17:55:33
 To : All
 Subject : Re: [N]  Re: MySQL q?
 -------------------------------------------------------------------------------- 
 
                       Hi, Sergey Smirnov!
 Господа, что ж вы так убиваетесь! Вы ж так не убьетесь! (вместо эпиграфа)
 
 ;-)
 
  13-Feb-01 12:58 Sergey Smirnov (root@btok.bryansk.ru) wrote :
 
 >> В общем сутуёвина такая:
 >> Есть таблица в базе следующего вида:
 >> date:DATE
 >> time:TIME
 >> ip:VARCHAR(15)
 >> method: VARCHAR(4)
 >> document: VARCHAR(255)
 >> Соответственно записи имеют следующий вид:
 >>  2001-02-08   19:20:48   10.12.50.6   GET   /music/
 >>
 >> Так вот, как запросом красиво выбрать статистику типа:
 >> SELECT date,COUNT(*) as count FROM table GROUP BY date;
 >> только по времени...т.е. что-то типа
 >> SELECT time,COUNT(*) as count FROM table GROUP BY time;,
 >> но чтобы было всего 24 поля, т.е. статистику по часам..
 >> а не по каждой секунде как выводит в запросе выше..
 
 > Я вообще-то по MySQL не спец, но спасет ли отца русской демократии запрос
 > типа
 > SELECT "От 0.00 до 1.00", COUNT(*) as count FROM table WHERE
 > DATEPART(hh,time)  BETWEEN 0 and 1
 > UNION
 > SELECT "От 1.00 до 2.00", COUNT(*) as count FROM table WHERE
 > DATEPART(hh,time)  BETWEEN 1 and 2
 > UNION
 > SELECT "От 2.00 до 3.00", COUNT(*) as count FROM table WHERE
 > DATEPART(hh,time)  BETWEEN 2 and 3
 > etc...
 
 > как бы я сделал бы это на MSSQL ?
 Мда.
 mysql> select * from test1;
 
 +----+---------------------+
 | id | d1                  |
 +----+---------------------+
 |  1 | 2001-02-13 15:35:23 |
 |  2 | 2001-02-13 15:35:27 |
 |  3 | 2001-02-13 15:35:31 |
 +----+---------------------+
 3 rows in set (0/15 sec)
 
 mysql> select hour(d1) as h1, count(*) from test1 group by h1;
 
 +------+----------+
 | h1   | count(*) |
 +------+----------+
 |   15 |        3 |
 +------+----------+
 1 row in set (0/00 sec)
 
 mysql> select second(d1) as s1, count(*) from test1 group by s1;
 
 +------+----------+
 | s1   | count(*) |
 +------+----------+
 |   23 |        1 |
 |   27 |        1 |
 |   31 |        1 |
 +------+----------+
 3 rows in set (0/00 sec)
 
 mysql>
 Hет слов.
 --
 *                                                   Alexey Mikhajlichenko
 Вначале было Слово , и Слово было два Байта.        alex@rtax.sumy.ua
 --- ifmail v.2.15dev5
  * Origin: Regional Tax Administration (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 MySQL q?   Vitaliy N. Kravchenko   13 Feb 2001 13:41:30 
 Re: MySQL q?   Sergey Smirnov   13 Feb 2001 16:58:39 
 Re: [N] Re: MySQL q?   Alex Mikhajlichenko   13 Feb 2001 17:55:33 
 :))   Sergey Smirnov   14 Feb 2001 09:58:44 
 MySQL q?   Konstantin Osipov   15 Feb 2001 00:34:05 
Архивное /su.dbms.sql/6513e7482cbd.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional