Mysql - LIMIT nach Prozent?

8

Sagen wir, ich definiere einen Alias ​​'count' in meiner Select Query und ich möchte den zurückgegebenen Betrag auf count / 5 (oder 20% der Tabelle) begrenzen.

Wie kann ich das tun? Mysql scheint nichts anderes zu nehmen als ganze Zahlen, keine Funktionen.

    
OMG Ponies 20.08.2009, 22:16
quelle

3 Antworten

11

Richtig. Die LIMIT -Klausel verwendet einen Offset und eine Anzahl von Zeilen, nicht einen Prozentsatz. Sie denken an Microsoft SQL Server, das SELECT TOP 20 PERCENT ... unterstützt (beachten Sie, dass weder LIMIT noch TOP in Standard-SQL angegeben sind).

Ich würde dies in zwei Abfragen tun:

%Vor%

Ersetzen Sie den Parameter ? durch den Wert count / 5.

Sie müssen nicht jedes Problem in einer einzigen Abfrage lösen.

    
Bill Karwin 20.08.2009 22:38
quelle
5

Die LIMIT-Klausel kann 2 Argumente haben und muss Integer-Konstanten sein.

Sie können so etwas ausprobieren

%Vor%     
RRUZ 20.08.2009 22:39
quelle
0

Schauen Sie in MySQL gespeicherte Routinen (Prozeduren / Funktionen)
Ссылка

    
concept47 20.08.2009 22:44
quelle

Tags und Links