ChrisB: 2 Queries, die dasselbe Ergebnis bringen sollen, aber nicht tun

Beitrag lesen

Hi,

abgesehen vom bisher schon gesagten:

diese Query ist gut:

Nö.

SELECT FROM_UNIXTIME(Datum, '%Y%|%m') AS ym from table where (SELECT FROM_UNIXTIME(Datum, '%Y%|%m')="2010|01")

Wozu nutzt du hier ein „statisches“ Subselect, anstatt einfach die Funktion direkt zu aufzurufen?

Ausserdem würde ich an der Stelle nicht mit einem formatierten Datum arbeiten - den Inhalt des Datum-Feldes jedes einzelnen Datensatzes entsprechend aufzubereiten, nur um dann einen Stringvergleich durchzuführen, erscheint mir nicht besonders performant.
YEAR() und MONTH() bereiten ein Datum zwar auch in gewisser Weise auf - aber nach meinem subjektiven Empfinden irgendwie „nativer“ und vermutlich günstiger.

MfG ChrisB

--
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]