Форум: "Начинающим";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
ВнизПомогите с запросом Найти похожие ветки
← →
Goast (2005-12-15 14:38) [0]Здравствуйте мастера…. ….есть таблица телефонных звонков
8:01 ляля тратра бебе
8:14 ляля тратра бебе
8:34 ляля тратра бебе
9:10 ляля тратра бебе
10:05 ляля тратра бебе
10:44 ляля тратра бебе
Возможно ли одним sql запросом вывести след. информацию
От до кол-во звонков
8:00 9:00 3
9:00 10:00 1
10:00 11:00 2
Т.е. вывести сколько же записей (звонков) соответствует конкретному промежутку времени…надеюсь вы меня поняли…всю голову сломал кроме как делать 24 sql запроса и в каждом считать кол-во записей умнее ничего не придумал…Спасибо
← →
Johnmen © (2005-12-15 14:59) [1]Одним запросом для dBase, FoxPro вряд ли...:)
А общая схема:SELECT
ФункцияВыделенияЧасов(TimeField),
ФункцияВыделенияЧасов(TimeField) + <1 час>,
COUNT(*)
FROM Table
GROUP BY <I поле запроса>
← →
-=S..S=- (2005-12-15 15:00) [2]можно отрезать в значении времени до ":" и сгрупировать по этому
select count(*), Left( field1 , 7 ) AS y from table group by y, order by field1 desc
что то в этом духе ... но не помню как взять символы до ":" потому как может быть двух значное число. поищи что то типа pos может поддержывает
← →
Goast (2005-12-15 15:09) [3]
> -=S..S=- (15.12.05 15:00) [2]
> можно отрезать в значении времени до ":" и сгрупировать
> по этому
> select count(*), Left( field1 , 7 ) AS y from table group
> by y, order by field1 desc
> что то в этом духе ... но не помню как взять символы до
> ":" потому как может быть двух значное число. поищи что
> то типа pos может поддержывает
ничего не понял....:( походу придется делать 24 запроса....:)
← →
Sergey13 © (2005-12-15 15:16) [4]2 [3] Goast (15.12.05 15:09)
> походу придется делать 24 запроса....:)
Сделай один. Но с 24 union-ами. 8-)
← →
Goast (2005-12-15 15:39) [5]
> Sergey13 © (15.12.05 15:16) [4]
> 2 [3] Goast (15.12.05 15:09)
> > походу придется делать 24 запроса....:)
> Сделай один. Но с 24 union-ами. 8-)
издеваются блин....:(
← →
Goast (2005-12-15 16:02) [6]
> ФункцияВыделенияЧасов(TimeField),
какая функция выделиня часов в sql pos-не катит...:)
← →
highlander © (2005-12-15 16:06) [7]
> ФункцияВыделенияЧасов(TimeField),
А вот интересно - как организовать такую функцию и как она будет выглядеть??
← →
Goast (2005-12-15 16:07) [8]
> highlander © (15.12.05 16:06) [7]
>
> > ФункцияВыделенияЧасов(TimeField),
>
> А вот интересно - как организовать такую функцию и как она
> будет выглядеть??
надеюсь вы не у меня спрашиваете?! т.к. я даже не представляю...;)
← →
Johnmen © (2005-12-15 16:25) [9]Ну господа, я же не знаю, что у вас каких типов!
← →
Goast (2005-12-15 16:27) [10]
> Johnmen © (15.12.05 16:25) [9]
> Ну господа, я же не знаю, что у вас каких типов!
все очень просто все поля string
← →
Johnmen © (2005-12-15 16:34) [11]>Goast (15.12.05 16:27) [10]
>все очень просто все поля string
Прошу прощения, но этот случай клинический :)
А значит никак...
← →
sniknik © (2005-12-15 17:04) [12]> все очень просто все поля string
начинать надо от типа базы, подключения, после поля.
как
SELECT Int(Left(TimeField, InStr(TimeField, ":")-1)) as TimeFld, Count(*) as Col
FROM Table1
GROUP BY Int(Left(TimeField, InStr(TimeField, ":")-1))
ORDER BY 1
но не скажу где. ;)
← →
palva © (2005-12-15 22:32) [13]Вы, естественно, работаете на MySQL. Привожу работающий скрипт
DROP TABLE IF EXISTS timdat;
CREATE TABLE timdat (t TIME, emp VARCHAR(10));
INSERT INTO timdat(t) values
("2:08"),("2:09"),("2:10"),("3:08"),("4:08"),("4:09"),("23:08");
SELECT HOUR(t) AS "от", HOUR(t)+1 AS "до", COUNT(t) AS "колич"
FROM timdat GROUP BY "от" ORDER BY "от";
от до колич
2 3 3
3 4 1
4 5 2
23 24 1
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c