witam,
chce wyciagnac ilosc_odslon, ilosc_unikalnych_wizyt, i date, wszystko posortowane dla kazdego dnia.
i wlasnie tutaj ugrzazlem.. dostaje :
ERROR: more than one row returned by a subquery used as an expression
to jest zapyanie:
select cast(clicked as date) as sort_date,
(select
count(*) as page_views,
(select count(distinct ip) from click_track where brand_id =3) as unique_visitors
from click_track y
where y.brand_id = 3)
from click_track x
where x.brand_id = 3
group by sort_date
jakies pomysly?
SongoQ
9.02.2007, 13:59:46
A nie lepiej
SELECT 1_podzapytanie AS xxx, 2_podzapytanie AS ........
ok: wiec mam cos takiego:
select cast(clicked as date) as sort_date,
(select count(*) from click_track where brand_id =3) as page_views,
(select count(distinct ip) from click_track where brand_id =3) as unique_visitors
from click_track y
where y.brand_id = 3
group by cast(clicked as date)
ale nie bardzo dziala bo taki wynik dostaje:
sort_date | page_views | unique_visitors
------------+------------+-----------------
2007-02-09 | 70 | 14
2007-02-08 | 70 | 14
(2 rows)
8-go powinien byc tylko jeden page_view i unikalny..
SongoQ
9.02.2007, 14:31:24
Jesli grupujesz to tak CI to nie zadziala. Musisz grupe uzaleznic z podzapytaniem. Wzcesniej tego nie zauwazylem ale przeniesc do FROM i w kazdym dodaj grupowanie a nastepnie zlaczenie po tej dacie. Troche nieoptymalny sposob ale powinien dzialac.
hmmm.. nie bardzo rozumiem.. mozesz cos naszkicowac..?
SongoQ
9.02.2007, 15:11:46
Np cos takiego, taki maly przykladzik
SELECT cast(clicked AS date) AS sort_date,
FROM (SELECT count(*) AS page_views, cast(clicked AS date) AS sort_date FROM click_track WHERE brand_id =3) page_views, click_track y
WHERE y.brand_id = 3 AND page_views.sort_date = click_track.sort_date
GROUP BY sort_date)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.