Toon posts:

[SQL] MAX en Like Probleem

Pagina: 1
Acties:
  • 34 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb de volgende SQL code:
code:
1
2
3
4
SELECT datum_tijd, MAX(temp) AS MinVanTemperatuur
FROM temperaturen
GROUP BY datum_tijd
HAVING (((datum_tijd)=$datum));

Ik haal dus de maximale temperatuur per dag uit de tabel temperaturen. Nu heb ik het volgende probleem; in het veld datum_tijd staat de volgende timestamp 200203131008 Ik wil dus alleen op de datum selecteren, dus niet op de tijd. Het moet dus iets worden van: LIKE datum_tijd '20020313%'

Dat werkt prima, maar niet in de bovenstaande SQL statement. Iemand een idee?

Verwijderd

misschien max(temperatuur) doen? (of is dat een tikfout in het voorbeeld)

Verwijderd

Topicstarter
Op woensdag 13 maart 2002 11:11 schreef sjako het volgende:
misschien max(temperatuur) doen? (of is dat een tikfout in het voorbeeld)
euh ja klopt. type fout, ik verander het... Maar dat was dus niet m'n probleem.

Verwijderd

gewoon je like gebruiken in de where clause

edit:

en natuurlijk goed groeperen

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Waar gaat dit heen....... String functies gebruiken op data?? VOor data is een speciaal type gemaakt, en er zijn speciale functies voor het verwerken van een datum. Kijk daar eens naar!!!

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

als je aanneemt dat hij een date veld gebruikt...

hij heeft problemen met het sql statement omdat hij niet goed groepeerd en having gebruikt terwijl dit niet nodig is.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Op woensdag 13 maart 2002 12:00 schreef sjako het volgende:
als je aanneemt dat hij een date veld gebruikt...

hij heeft problemen met het sql statement omdat hij niet goed groepeerd en having gebruikt terwijl dit niet nodig is.
Maar als hij voor een datum een varchar type gerbuikt is hij sowieso al verkeert bezig en zou hij dat eerst aan moeten passen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

maar daar gaat het probleem weer niet over... (maar het maakt het wel makkelijker)

Verwijderd

Topicstarter
Nee, mensen. Neem ff van me aan, de datum/tijd moet een integer waarde blijven. Dus Date kan niet...

Verwijderd

Topicstarter
Op woensdag 13 maart 2002 11:31 schreef sjako het volgende:
gewoon je like gebruiken in de where clause

edit:

en natuurlijk goed groeperen
Where kun je nu niet gebruiken omdat je MAX gebruikt.

Verwijderd

Op woensdag 13 maart 2002 12:32 schreef jeroenbeekman het volgende:

[..]

Where kun je nu niet gebruiken omdat je MAX gebruikt.
onzin natuurlijk.
met je where beperk je de records die geselecteerd worden.
de group by functions worden op de geselecteerde records uitgevoerd.

Verwijderd

Op woensdag 13 maart 2002 12:32 schreef jeroenbeekman het volgende:
Nee, mensen. Neem ff van me aan, de datum/tijd moet een integer waarde blijven. Dus Date kan niet...
met integers kun je beter ">" (etc) gebruiken ipv like.
voordelen kun je zelf verzinnen

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Op woensdag 13 maart 2002 12:32 schreef jeroenbeekman het volgende:
Nee, mensen. Neem ff van me aan, de datum/tijd moet een integer waarde blijven. Dus Date kan niet...
Als jij van me aanneemt dat dit natuurlijk niet erg net is en meer een teken is van een gebrekkige kennis van het nut van verschillende datatypes....

Maarja, dat was ook al te zien aan het gebruik van string functie op integers ;)..

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • pistole
  • Registratie: Juli 2000
  • Laatst online: 11:30

pistole

Frutter

Op woensdag 13 maart 2002 13:08 schreef Janoz het volgende:

[..]

Als jij van me aanneemt dat dit natuurlijk niet erg net is en meer een teken is van een gebrekkige kennis van het nut van verschillende datatypes....

Maarja, dat was ook al te zien aan het gebruik van string functie op integers ;)..
ik ben het eens dat het niet netjes is. Maar ik kan me gevallen voorstellen dat je niet anders kan.

Dus misschien is het handiger even te helpen ipv zijn datamodel af te kraken?

Ik frut, dus ik epibreer


Verwijderd

Topicstarter
Op woensdag 13 maart 2002 13:08 schreef Janoz het volgende:

[..]

Als jij van me aanneemt dat dit natuurlijk niet erg net is en meer een teken is van een gebrekkige kennis van het nut van verschillende datatypes....

Maarja, dat was ook al te zien aan het gebruik van string functie op integers ;)..
Zucht... Zucht en nog eens zucht...

Waarom wil iedereen toch meteen de discussie aangaan als iets in hun ogen niet klopt, zonder voorkennis te hebben...

Maar goed, ik weet voldoende.

GoT is al lang niet meer dezelfde als twee jaar geleden. Toen waren mensen nog behulpzaam naar anderen. Jammer dat zo'n ontwikkeling niet te stoppen is...

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Op woensdag 13 maart 2002 13:31 schreef pistole het volgende:

[..]

ik ben het eens dat het niet netjes is. Maar ik kan me gevallen voorstellen dat je niet anders kan.

Dus misschien is het handiger even te helpen ipv zijn datamodel af te kraken?
Het antwoord staat er toch al? sjako geeft duidelijk aan wat er gebruikt moet worden bij het vergelijken van integers.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Op woensdag 13 maart 2002 13:31 schreef pistole het volgende:

[..]

ik ben het eens dat het niet netjes is. Maar ik kan me gevallen voorstellen dat je niet anders kan.

Dus misschien is het handiger even te helpen ipv zijn datamodel af te kraken?
Je hebt gelijk ja, maar ik denk dat het weinig nut meer heeft. Iig bedankt voor je aanvulling.

  • pistole
  • Registratie: Juli 2000
  • Laatst online: 11:30

pistole

Frutter

Op woensdag 13 maart 2002 13:33 schreef Janoz het volgende:

[..]

Het antwoord staat er toch al? sjako geeft duidelijk aan wat er gebruikt moet worden bij het vergelijken van integers.
Okee, maar waarom dan jouw (in mijn ogen) lullige opmerking over zijn kennis?

Ik frut, dus ik epibreer


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Op woensdag 13 maart 2002 13:32 schreef jeroenbeekman het volgende:
Waarom wil iedereen toch meteen de discussie aangaan als iets in hun ogen niet klopt, zonder voorkennis te hebben...
Ik ben erg benieuwd wat de reden is die het gebruik van integers voor een datumveld rechtvaardigd.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Eigenlijk heb ik helemaal geen zin in deze (onzinnige) discussie.

Maar goed, Ik heb een c++ (3.1) programma die waarden genereerd. Elke keer als zo'n waarde in de tabel (de db dus) wordt gezet. Zet MySQL in datum_tijd een timestamp. De datum + tijd dus. Later moet het c++ programma die datum/tijd weer kunnen ophalen.

Feit is dat mijn programma alleen met integers overweg kan. String/char slikt ie niet.

/me vind het knap dat Janoz binnen twee reacties de kennis van iemand kan beoordelen....

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Op woensdag 13 maart 2002 13:35 schreef pistole het volgende:

[..]

Okee, maar waarom dan jouw (in mijn ogen) lullige opmerking over zijn kennis?
Het is mischien wat aan de harde kant. Maar ik wordt zo langzamerhand een beetje kriegel van mensen die zichzelf al hobbyend wat programmeren hebben aangeleerd, en vervolgens vastlopen omdat ze basis fouten maken. Om nu een integervergelijking te gebruiken om een bepaalde dag te selecteren is gewoon symptoom bestrijding. Symptomen die worden veroorzaakt door fundamentele fouten in het initiele ontwerp. Aan het begin lijkt het mischien makkelijk om het ff in een integer veld op te slaan, maar dit zal lang niet het enige probleem zijn dat de topicstarter tegen zal gaan komen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Op woensdag 13 maart 2002 13:39 schreef jeroenbeekman het volgende:
Eigenlijk heb ik helemaal geen zin in deze (onzinnige) discussie.

Maar goed, Ik heb een c++ (3.1) programma die waarden genereerd. Elke keer als zo'n waarde in de tabel (de db dus) wordt gezet. Zet MySQL in datum_tijd een timestamp. De datum + tijd dus. Later moet het c++ programma die datum/tijd weer kunnen ophalen.

Feit is dat mijn programma alleen met integers overweg kan. String/char slikt ie niet.

/me vind het knap dat Janoz binnen twee reacties de kennis van iemand kan beoordelen....
Er zijn genoeg functies in MySQL die je in je query kunt gebruiken zodat je de waarde van je datum in elke vorm kunt gieten die je maar nodig hebt...

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Op woensdag 13 maart 2002 13:43 schreef Janoz het volgende:

[..]

Het is mischien wat aan de harde kant. Maar ik wordt zo langzamerhand een beetje kriegel van mensen die zichzelf al hobbyend wat programmeren hebben aangeleerd, en vervolgens vastlopen omdat ze basis fouten maken. Om nu een integervergelijking te gebruiken om een bepaalde dag te selecteren is gewoon symptoom bestrijding. Symptomen die worden veroorzaakt door fundamentele fouten in het initiele ontwerp. Aan het begin lijkt het mischien makkelijk om het ff in een integer veld op te slaan, maar dit zal lang niet het enige probleem zijn dat de topicstarter tegen zal gaan komen.
Zoals ik al zei; Ik heb geen zin deze discussie voor de 2342384 keer te gaan houden. Argumenten worden constant heraald en oplossingen worden niet geboden.

Nieuwe GoT slogan?

Verwijderd

kom ik weer eens kijken bij /14 blijkt het sfeertje idd niet echt te zijn verbeterd.

ik ben het zowel met Janoz als met jeroen eens.
een goed datamodel is de basis. je kunt via functies alles terug geven dat je nodig hebt.
Soms moet je een uitzondering maken (bv tussen oplossing omdat mysql geen subqueries ondersteund)

ik geef ook aan dat Janoz een aanname doet en zeg daar later weer over dat het probleem daar niet over gaat.

maar goed.

om toch weer terug te komen bij je probleem :

je kunt dus wel een where clause gebruiken. heb je hier al iets mee gedaan?
wat is je probleem nu nog/wel? (je roept alleen zucht, zucht en discussie)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Op woensdag 13 maart 2002 13:51 schreef jeroenbeekman het volgende:
en oplossingen worden niet geboden.
Kijk eens in de reactie boven je.

edit:


ff de betreffende reacties toegevoegd:

Het 'symptoon bestrijd' antwoord:[quote]
Op woensdag 13 maart 2002 12:51 schreef sjako het volgende:

[..]

met integers kun je beter ">" (etc) gebruiken ipv like.
voordelen kun je zelf verzinnen
[/quote]

Het antwoord waneer je toch datum velden gaat gebruiken:[quote]
Op woensdag 13 maart 2002 13:45 schreef Janoz het volgende:

[..]

Er zijn genoeg functies in MySQL die je in je query kunt gebruiken zodat je de waarde van je datum in elke vorm kunt gieten die je maar nodig hebt...
[/quote]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Een paar woorden die mij te binnen schieten:

Manual, to_date.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1

Dit topic is gesloten.