счётчик

Тема в разделе "SQL", создана пользователем slavon-x86, 25 дек 2006.

  1. slavon-x86

    slavon-x86 Well-Known Member

    Регистрация:
    18 дек 2005
    Сообщения:
    216
    Симпатии:
    0
    Есть таблица "counter" с колонкой "ip". В ней храняться IP адреса. Как узнать количество неповторяющихся IP ?
     
  2. Гость

    Ключевое слово DISTINCT
    Ключевое слово DISTINCT запрещает вывод в результирующем наборе повторяющихся
    строк. Например, в таблице Orders базы данных Northwind содержатся повторяющиеся
    значения в столбце ShipCity. Следующий код позволяет получить список значений ShipCity
    без дубликатов:
     
  3. slavon-x86

    slavon-x86 Well-Known Member

    Регистрация:
    18 дек 2005
    Сообщения:
    216
    Симпатии:
    0
    А вот ещё вопрос:

    есть колонка типа DATETIME
    1. Как выбрать колонки, в которых записано сегодняшнее число;
    2. Как выбрать колонки, где время меньше не более чем на 3 мин от текущего (т.е. я хочу сделать сколько человек онлайн на сайте);
     
  4. Гость

    Воспользуйся функцией DATEDIFF :D
     
  5. ooo

    ooo Гость

    Если нужно узнать количество неповторяющихся IP ,то select count(distinct ip) from counter;

    Колонки на сегодня:

    select count(*) from таблица where trunc(колонка)=trunc(sysdate) /* 1.сегодняшнее число */
    and to_char(sysdate,'sssss')-to_char(колонка,'sssss')<=180 /* 2. не более 180 секунд */
    ;
     
  6. slavon-x86

    slavon-x86 Well-Known Member

    Регистрация:
    18 дек 2005
    Сообщения:
    216
    Симпатии:
    0
    ни первое, ни второе не работает
     
  7. Гость

    slavon-x86 разобрался с DATEDIFF?
     
  8. slavon-x86

    slavon-x86 Well-Known Member

    Регистрация:
    18 дек 2005
    Сообщения:
    216
    Симпатии:
    0
    По идее вот так:
    Код (Text):
    select * from таблица where DATEDIFF(sysdate, колонка)<180
    но неработает.
    И этой функцией решается только 2-я задача.
     
  9. Гость

    Какая у тебя СУБД?
    Если MSSQL попробуй datename.
     
  10. slavon-x86

    slavon-x86 Well-Known Member

    Регистрация:
    18 дек 2005
    Сообщения:
    216
    Симпатии:
    0
  11. slavon-x86

    slavon-x86 Well-Known Member

    Регистрация:
    18 дек 2005
    Сообщения:
    216
    Симпатии:
    0
    Вобщем мне надо сделать счётчик. Кто-нибудь может помочь ?
     
  12. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    <!--QuoteBegin-ooo+26:12:2006, 05:57 -->
    <span class="vbquote">(ooo @ 26:12:2006, 05:57 )</span><!--QuoteEBegin-->Если нужно узнать количество неповторяющихся IP ,то select count(distinct ip) from counter;
    [snapback]51726" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    <!--QuoteBegin-slavon-x86+26:12:2006, 15:37 -->
    <span class="vbquote">(slavon-x86 @ 26:12:2006, 15:37 )</span><!--QuoteEBegin-->ни первое, ни второе не работает
    [snapback]51796" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Так а почему первое не работает?
     
  13. slavon-x86

    slavon-x86 Well-Known Member

    Регистрация:
    18 дек 2005
    Сообщения:
    216
    Симпатии:
    0
    Разобрался. Вот, может кому-то понадобиться...

    //хостов сегодня
    Код (Text):
    SELECT DISTINCT колонка_с_ip FROM таблица WHERE TO_DAYS(NOW()) - TO_DAYS(колонка_DATETIME) <= 1
    //хостов онлаин
    Код (Text):
    SELECT DISTINCT колонка_с_ip FROM таблица WHERE UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(колонка_DATETIME) <= 180
     
Загрузка...
Похожие Темы - счётчик
  1. xbeetle
    Ответов:
    0
    Просмотров:
    462
  2. Jkx
    Ответов:
    0
    Просмотров:
    721
  3. Sabin
    Ответов:
    0
    Просмотров:
    1.545
  4. NicNsk
    Ответов:
    1
    Просмотров:
    1.049
  5. slovo
    Ответов:
    3
    Просмотров:
    1.651

Поделиться этой страницей