phpbar.de logo

Mailinglisten-Archive

Sortierung

Sortierung

Michael Donning mysql-de_(at)_lists.bttr.org
Thu, 19 Sep 2002 12:49:54 +0200


Hallo Sven,

(Ups ich/mein Mailer hatte direkt geantwortet, daher den bisherigen Verlauf
als Post-Orgie):

> -----Original Message-----
> From: Sven Wagenhoefer [mailto:sven_(at)_wagenhoefer.com]
> MD> Für Intervalle (im Where) sollte man z.B. die DATE_SUB/ADD Funktionen
> MD> verwenden. Ist zumindest übersichtlicher. Außerdem bringts
> glaube ich nix
> MD> auf zeit die Fkt. UNIX_TIMESTAMP anzuwenden, wenn Zeit bereits ein
> MD> Unix-Timestamp ist (sekunden seit <irgendwann>).
>
> MD> ungefähr.
>
> zeit >>= UNIX_TIMESTAMP(DATE_SUB(CURRENT_DATE,INTERVAL 7 DAY))
> hatte mich geirrt :) Ist doch ein Timestamp(14) deswegen die
> UNIX_TIMESTAMP Anweisung...
>
> MD> aber das wichtigste:
> MD> was meinst Du mit "bringt irgendwie nicht das gehoffte
> Ergebnis". Gibts da
> MD> ein Beispiel?
> nach meiner Sortierung sortiert er ja erst nach Views und dann nach
> der Zeit.
>
> Ich hätte es aber gerne folgendermassen:
>
> Zuerst die mit den 15 höchsten Viewszahlen und dann innerhalb von
> diesen 15 nochmal nach der Zeit sortiert, also das älteste zuerst.


Also spontan fällt mir dazu nix ein. Mit Views wäre das theoretisch
realisierbar, aber MySql unterstützt (noch) keine Views :(. Ebenso wäre ggf.
mit verschachtelten Selects machbar (where primkey in (select primkey from
.. order by limit), geht aber auch (noch) nicht.

Der aktuelle Weg wäre mit mehreren Statements über temporäre Tabellen.

1. Query -> Temp-tabelle
2. nach Zeit sortierte Query von Temp-Tabelle abfragen.
3. (ggf. Temp-tabelle droppen.)

Gruss Michael

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive