Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zap sql: ilosc odslon i unikalnych odwiedzin wg dnia
ds26
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 25.01.2007

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


A nie lepiej

  1. SELECT 1_podzapytanie AS xxx, 2_podzapytanie AS ........


--------------------
Go to the top of the page
+Quote Post
ds26
post
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 25.01.2007

Ostrzeżenie: (0%)
-----


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..
Go to the top of the page
+Quote Post
SongoQ
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post
ds26
post
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 25.01.2007

Ostrzeżenie: (0%)
-----


hmmm.. nie bardzo rozumiem.. mozesz cos naszkicowac..?
Go to the top of the page
+Quote Post
SongoQ
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Np cos takiego, taki maly przykladzik

  1. SELECT cast(clicked AS date) AS sort_date,
  2. 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
  3. WHERE y.brand_id = 3 AND page_views.sort_date = click_track.sort_date
  4. GROUP BY sort_date)


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 14:19