04. november 2002 - 15:19Der er
5 kommentarer og 1 løsning
Opdeling i to variable efter kriterie
Hej
Jeg har en bunke data, som jeg gerne vil opdele after dato. Altså noget frem til en dato og resten herefter.
Mine data kunne se således ud:
onlinetime date ip 1 21-09-01 21121 .5 10-09-01 212228 .7 21-10-01 298903 2 01-05-01 278523
Jeg vil så gerne gruppere mine data efter en bestemt ip adresse, men samtidig skelne mellem hvad der eksempelvis er før den 10-09-01. Og så i øvrigt summere op. Den er lidt svær, det ved jeg godt. Især fordi jeg gerne vil have dem før datoen i én variabel og dem efter i en anden!
SELECT SUM(onlinetime) AS sumTime GROUP BY ip
Men hvordan får jeg så lavet en where eller andet således, at jeg kan få en variabel sumTimeBefore og sumTimeAfter, hvor de så hver især indeholder før og efter en given dato.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Jeg kan ikke finde noget om onbefore i mysql dokumentationen.
Jeg tænkte, om det var muligt at mase to forespørgsler sammen? Og derefter sortere dem?
noget i stil med
MERGE_ELLER_HVAD_DEN_MON_HEDDER( SELECT SUM(onlinetime) AS sumTime where date < 10-09-01 GROUP BY ip , SELECT SUM(onlinetime) AS sumTime where date > 10-09-01 GROUP BY ip ) order by noget_andet
onbefore og onafter var bare mine forslag til kolonnetitler...
jeg forventede at du ville have en opstilling a'la: ip sumFør10/9 sumEfter10/9 xxx 10:23 22:14 yyy 11:43 13:23
Hvis du kan "klare dig" med en opremsning, så du får: ip periode sumTime xxx Før10/9 10:23 xxx Efter10/9 22:14 yyy Før10/9 11:43 yyy Efter10/9 13:23
Så kan du bruge: SELECT ip, 'Før10/9' AS periode, SUM(onlinetime) AS sumTime FROM tabelNavn WHERE date < 10-09-01 GROUP BY ip, periode UNION SELECT ip, 'Efter10/9' AS periode, SUM(onlinetime) AS sumTime FROM tabelNavn WHERE date >= 10-09-01 GROUP BY ip, periode;
Sorry, jeg troede det var en indbygget funktion. Ikke sådan, når man bruger sådan noget fancy udenlandsk....
Tusind tak for hjælpen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.