SQL MAX()

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Roy Bongers

Roy Bongers

10/12/2004 23:50:00
Quote Anchor link
$sql = "SELECT COUNT(ip) AS aantal, datum FROM stats GROUP BY datum ORDER BY datum ASC";

Ik ben bezig met een zeer simpel stats script. 't enige wat ik eigenlijk wil weten is t aantal unieke bezoekers. Ip's kunnen per dag maar 1 keer in de database staan.

in de tabel staat de volgende kolommen: id, ip, datum

Nu wil ik de dag met het hoogste aantal bezoekers hebben. Ik weet dat de functie max() daarvoor is maar MAX(COUNT(ip)) er aan toevoegen geeft een error dat ik de group clause fout gebruik oid.
Verder heb ik max() ( de php versie ) op de array losgelaten maar deze geeft ook een error.

Hoe zou ik dit t beste op kunnen lossen?

Verder had ik nog een vraag over de LIMIT. Ik wil bijv. alleen de laatste 7 dagen weergeven. moet ik dan eerst het totaal aantal records tellen met query1 vervolgens daar met php 7 vanaf halen en dan via query2 de gewenste dagen uit de database halen of is er ook iets in de richting van LIMIT last,-7. Dit heb ik geprobeerd maar dat werkte natuurlijk niet....
 
PHP hulp

PHP hulp

05/11/2024 11:30:18
 
Elwin - Fratsloos

Elwin - Fratsloos

11/12/2004 10:10:00
Quote Anchor link
Oké... zoiets zou je kunnen doen denk ik:

Drukste dag:
SELECT count(*) AS aantal, datum
FROM stats
GROUP BY datum
ORDER BY aantal DESC
LIMIT 0,1

Laatste 7 dagen weergeven (met aantal hits):
SELECT count(*) AS aantal, datum
FROM stats
GROUP BY datum
ORDER BY datum DESC
LIMIT 0,7

Elwin

[Edit: Typo]
Gewijzigd op 11/12/2004 10:11:00 door Elwin - Fratsloos
 
Eris -

Eris -

11/12/2004 10:11:00
Quote Anchor link
SELECT COUNT(ip) AS aantal, datum FROM stats GROUP BY datum ORDER BY aantal DESC

Als het goed is...
 
Roy Bongers

Roy Bongers

11/12/2004 16:05:00
Quote Anchor link
Ok dat probleem met drukste dag is op deze manier nu opgelost. Maar de laatste 7 dagen weergeven nog niet helemaal. De query van Elwin lijkt er wel op maar t is DESC. dus dan zou ik de dagen van achter naar voor krijgen. En ik wil ze eigenlijk op ASC. Maar ik denk dan toch dat dat t beste op te lossen is met 2 query's

in ieder geval bedankt :)
 
Eris -

Eris -

11/12/2004 16:11:00
Quote Anchor link
SELECT COUNT(ip) AS aantal, datum FROM stats GROUP BY datum ORDER BY aantal DESC LIMMIT 0,7
 
Roy Bongers

Roy Bongers

11/12/2004 19:20:00
Quote Anchor link
Ik heb de oplossing gevonden :). ik heb MK time gebruikt om de huidige datum - 14 dagen te weten te komen. en die heb ik dan in een where clause gezet. dus where datum > $14dageneerder.
 



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.