| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | MySQL: Sorter poster... Fra : Magnus | 
  Dato :  07-02-07 18:09 |  
  |   
            Når jeg i MySQL sortere efter id nr så hedder det "ORDER BY id"
 
 Men hvis jeg har 10 poster med id-nr fra 1 til 10 kan jeg så selv vælge 
 hvilken række følge de skal vises i f.eks. hvis jeg vil have vist posterne i 
 denne rækkefølge: 2, 5, 6, 7, 1, 3, 4, 8, 9, 10
 
 Kan jeg det?
 
 
 /Magnus 
 
 
 
  
            
             |   |   
            
        
 
            
         
           Jørn Andersen (07-02-2007) 
         
	
            | Kommentar Fra : Jørn Andersen | 
  Dato :  07-02-07 18:45 |  
  |   
            On Wed, 7 Feb 2007 18:09:04 +0100, "Magnus" <magnusFJERN@arnason.dk>
 wrote:
 
 >Når jeg i MySQL sortere efter id nr så hedder det "ORDER BY id"
 >
 >Men hvis jeg har 10 poster med id-nr fra 1 til 10 kan jeg så selv vælge 
 >hvilken række følge de skal vises i f.eks. hvis jeg vil have vist posterne i 
 >denne rækkefølge: 2, 5, 6, 7, 1, 3, 4, 8, 9, 10
 
 Normalt løser man det ved at lave et sorteringsfelt (eller flere).
 
 
 Mvh. Jørn
 
 -- 
 Jørn Andersen,
 Brønshøj
  
            
             |   |   
            
        
 
            
         
           Peter Brodersen (08-02-2007) 
         
	
            | Kommentar Fra : Peter Brodersen | 
  Dato :  08-02-07 11:38 |  
  |  
 
            On Wed, 7 Feb 2007 18:09:04 +0100, "Magnus" <magnusFJERN@arnason.dk>
 wrote:
 >Men hvis jeg har 10 poster med id-nr fra 1 til 10 kan jeg så selv vælge 
 >hvilken række følge de skal vises i f.eks. hvis jeg vil have vist posterne i 
 >denne rækkefølge: 2, 5, 6, 7, 1, 3, 4, 8, 9, 10
 >
 >Kan jeg det?
 Hvis det skal gøres i en enkelt query, så er FIELD() en fin metode:
 http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#id2728797
FIELD(id, 2, 5, 6, 7, 1, 3, 4, 8, 9, 10) vil for eksempel returnere
 det tal i rækken, id er. Det kan man så sortere på.
 Fx slet og ret:
 SELECT id, name
 FROM table
 ORDER BY FIELD(id, 2, 5, 6, 7, 1, 3, 4, 8, 9, 10)
 -- 
 - Peter Brodersen
   Kendt fra Internet
            
              |   |   
            
        
 
            
         
           Michael Zedeler (10-02-2007) 
         
	
            | Kommentar Fra : Michael Zedeler | 
  Dato :  10-02-07 22:32 |  
  |  
 
            Magnus skrev:
 > Når jeg i MySQL sortere efter id nr så hedder det "ORDER BY id"
 > 
 > Men hvis jeg har 10 poster med id-nr fra 1 til 10 kan jeg så selv vælge 
 > hvilken række følge de skal vises i f.eks. hvis jeg vil have vist posterne i 
 > denne rækkefølge: 2, 5, 6, 7, 1, 3, 4, 8, 9, 10
 > 
 > Kan jeg det?
 En tommelfingerregel for korrekt brug af databaser er, at hvis man 
 bruger autogenererede id'er til andet end at slå op med, er der noget galt.
 Det er almindeligt at man opretter et nyt felt, som bruges til at 
 sortere efter. Så kan man ændre det uden at tage hensyn til referencer 
 fra andre felter.
 Mvh. Michael.
 -- 
 Which is more dangerous? TV guided missiles or TV guided families?
 I am less likely to answer usenet postings by anonymous authors.
 Visit my home page at  http://michael.zedeler.dk/
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |