Wie kann ich random records sortieren?

Wie kann ich random records sortieren?

am 01.11.2006 22:11:54 von jonas

Guten Tag,

Ich habe ein kleines Problem mit einem Query. Mein Deutsch ist nicht so gut
aber ich gehe verzuchen es zu erzählen.

Für eines Program habe ich eine Query geschrieben, der "random records" aus
mein Database hohlt. Es zieht zo aus:

--- query ---
select seq, artist, credat, upddat from artists
order by rand() limit 10
--- /query ---

Wenn ich diese Query ausprobiere, krieg ich 10 random records von mein
Database.

Aber nun will ich diese Resultaten sortieren - wie kann ich das denn
machen? Ich habe viel mit Oracle gemacht, und da ist das wie folgt:

--- query ---
select seq, artist, credat, upddat from
(
(original select)
)
order by artist
--- /query ---
aber das geht nicht - ich krieg eine Fehler ("1248: every
derived table must have its own alias").

Was ist eine einfache Mittel um x records zu kriegen von mein Database, und
zie dan zu sortieren auf y?

Vielen Dank,

Jonas

Re: Wie kann ich random records sortieren?

am 02.11.2006 00:03:08 von Axel Schwenke

Jonas wrote:

Jonas,

I'm answering in English,
hopefully you understand that better than German

> --- query ---
> select seq, artist, credat, upddat from artists
> order by rand() limit 10
> --- /query ---
....

> --- query ---
> select seq, artist, credat, upddat from
> (
> (original select)
> )
> order by artist
> --- /query ---
> aber das geht nicht - ich krieg eine Fehler ("1248: every
> derived table must have its own alias").

Try to unterstand the error message.
You have to give an alias name to your derived table:

select seq, artist, credat, upddat from
(
(original select) AS some_table_name
~~~~~~~~~~~~~~~~~~
)
order by artist

Here is the according manual page:
http://dev.mysql.com/doc/refman/5.0/en/unnamed-views.html


XL

Re: Wie kann ich random records sortieren?

am 02.11.2006 01:30:28 von jonas

Axel Schwenke wrote in
news:c39bie.8dp.ln@xl.homelinux.org:

> Jonas wrote:
>
> Jonas,
>
> I'm answering in English,
> hopefully you understand that better than German

Much better, thanks...


> Try to unterstand the error message.
> You have to give an alias name to your derived table:
>
> select seq, artist, credat, upddat from
> (
> (original select) AS some_table_name
> ~~~~~~~~~~~~~~~~~~
> )
> order by artist
>
> Here is the according manual page:
> http://dev.mysql.com/doc/refman/5.0/en/unnamed-views.html

Ah, now I understand what's wrong with it, and I was able to fix it.

Thank you very much, Axel!

Jonas

Re: Wie kann ich random records sortieren?

am 02.11.2006 08:07:49 von Kris

Jonas wrote:
> --- query ---
> select seq, artist, credat, upddat from
> (
> (original select)
> )
> order by artist
> --- /query ---
> aber das geht nicht - ich krieg eine Fehler ("1248: every
> derived table must have its own alias").

select seq, artist, credat, upddat from
(
(original select) as s
)
order by artist

Aber Du möchtest lieber http://jan.kneschke.de/projects/mysql/order-by-rand/
lesen und verstehen.

Kris

Re: Wie kann ich random records sortieren?

am 02.11.2006 11:46:13 von jonas

Kristian =?UTF-8?B?S8O2aG50b3Bw?= wrote in
news:eic5f5$afc$2@h743107.serverkompetenz.net:


> Aber Du möchtest lieber
> http://jan.kneschke.de/projects/mysql/order-by-rand/ lesen und
> verstehen.
>
> Kris

Vielen Dank!

Jonas