kan niet alle velden ophalen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gijs

gijs

06/12/2007 14:36:00
Quote Anchor link
Hallo, weet iemand hoe ik de volgende 2 querys kan combineren?

1:
SELECT id, user_id, count(distinct(ip)) as ipees,ref, host, left(timestamp,7) as datum, count(*) as aantal FROM stats WHERE user_id='$id' and timestamp<date_sub(now(),interval -3 month) group by datum order by datum asc

2:
SELECT count(id), left(timestamp,7) as datum2, count(distinct(ip)) as aantalkliks FROM `stats` WHERE `ref` LIKE '%http://www.mijnsite.nl%' and user_id = $id group by datum2 order by datum2

Groeten Gijs
 
PHP hulp

PHP hulp

24/11/2024 06:13:05
 
Frank -

Frank -

06/12/2007 15:03:00
Quote Anchor link
Beide queries zijn ongeldig en horen een foutmelding op te leveren. Je gebruikt een aggregate functie (COUNT) en dus hoor je alles wat niet in deze functie staat, maar wat je wel opvraagt, in de GROUP BY te zetten. Dat doe je niet, dus zijn de queries helemaal fout.

Dat MySQL niet slimmer is, dat is niet anders, dan had jij maar een betere database moeten kiezen. Stap over op PostgreSQL of FireBird, dan ben je direct van dit soort onzin af.
 
Gijs

gijs

06/12/2007 15:13:00
Quote Anchor link
aha, misschien dat ze fout zijn volgens jou, men deatabase eet de querys wel. dus ben ik wel tevreden.

Heb niet echt de keuze welke db ik wil dus zal het met mysql moeten doen.
Weet iemand anders misschien hoe het wel kan ipv dat mijn db niet assertief genoeg is?
 
Frank -

Frank -

06/12/2007 15:23:00
Quote Anchor link
Ze zijn niet fout volgens mij, maar volgens de wiskunde, de verzamelingenleer. Het is gewoon onmogelijk, zelfs MySQL weet dit eigenlijk wel en zal met de juiste instellingen jouw queries dan ook keurig afkeuren.

Voer de volgende query maar eens uit voordat je bovenstaande queries uitvoert:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SET SESSION sql_mode = 'ONLY_FULL_GROUP_BY';

Nu zal MySQL alleen correct gebruik van aggregate functies en GROUP BY toestaan.

Ps. Je hebt weldegelijk keuze tussen databases, geef je hostingprovider 1 kans om pgSQL of FireBird te installeren of verhuis naar een betere provider. MySQL is een verzameling bugs, ook als jij dat ontkent.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.