2016-07-24 9 views
1

Ich möchte 3 spezifischen Datensatz auswählen und der Rest sollte zufällig sein.Benutzerdefinierte Reihenfolge von auf einer Spalte in MySQL

EX:

Database:Records 

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 

Ich möchte 2,5,8 auszuwählen.

+0

Was ist Ihre Eingabe? '2,5,8'? – 1000111

+0

'select * from Tabellenname, um durch Fall wenn id = 2, dann 0 wenn id = 5, dann 1 wenn id = 8 dann 2 sonst 3 Ende, id ' –

Antwort

0

Sie können dies erreichen mit Hilfe von CASE WHEN und FIND_IN_SET

SELECT 
* 
FROM table_jess 
ORDER BY 
CASE WHEN FIND_IN_SET(id,'2,5,8') > 0 THEN 0 ELSE id END,id 

Bitte überprüfen Sie die WORKING DEMO

EDIT:

Wenn Sie für den Rest der Zufallsergebnis wollen Einträge verwenden dann die folgende Abfrage:

SELECT 
* 
FROM table_jess 
ORDER BY 
CASE WHEN FIND_IN_SET(id,'8,2,5') > 0 THEN 0 ELSE RAND() END,id; 

WORKING DEMO

+0

danke! was, wenn ich nur die 8,2,5 und nichts mehr –

+0

wählen möchte, dann ist es zu einfach. 'SELECT * VON table_jess WHERE id IN (2,5,8)' – 1000111

0

Warum nicht zwei verschiedene Abfragen erstellen und das Ergebnis kombinieren?

+0

ich will es in einer Listenansicht zu bevölkern in VB.net –

Verwandte Themen