| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Count Fra : Torben | 
  Dato :  17-06-09 04:28 |  
  |   
            Hej venner
 
 Jeg slås med noget SQL i Mysql-sammenhæng: Min sql-forespørgsel ser i
 øjeblikket sådan ud:
 
 $query = "SELECT t2.navn,
                      t2.id as emneID,
                      COUNT( t1.id ) as antal
                 FROM RV2_ARTIKLER as t1,
                      RV2_EMNER as t2
                WHERE ( SELECT COUNT( * )
                          FROM RV2_ARTIKLER as t3
                         WHERE t1.id = t3.id ) > 1
                  AND t1.emneID = t2.id
                  AND t1.fratid >= DATE_SUB( CURDATE( ), INTERVAL 7
 DAY )
             GROUP BY t2.id
             ORDER BY antal DESC
                LIMIT 0,1000";
 
 Som det fremgår vil jeg gerne find de artikler grupperet på emner der
 opfylder kravet at der er flere end 5 artikler. Hvordan gør jeg?
  
            
             |   |   
            
        
 
            
         
           Martin (17-06-2009) 
         
	
            | Kommentar Fra : Martin | 
  Dato :  17-06-09 12:42 |  
  |   
            Torben wrote:
 > Hej venner
 > 
 > Jeg slås med noget SQL i Mysql-sammenhæng: Min sql-forespørgsel ser i
 > øjeblikket sådan ud:
 > 
 > $query = "SELECT t2.navn,
 >                      t2.id as emneID,
 >                      COUNT( t1.id ) as antal
 >                 FROM RV2_ARTIKLER as t1,
 >                      RV2_EMNER as t2
 >                WHERE ( SELECT COUNT( * )
 >                          FROM RV2_ARTIKLER as t3
 >                         WHERE t1.id = t3.id ) > 1
 >                  AND t1.emneID = t2.id
 >                  AND t1.fratid >= DATE_SUB( CURDATE( ), INTERVAL 7
 > DAY )
 >             GROUP BY t2.id
 >             ORDER BY antal DESC
 >                LIMIT 0,1000";
 > 
 > Som det fremgår vil jeg gerne find de artikler grupperet på emner der
 > opfylder kravet at der er flere end 5 artikler. Hvordan gør jeg?
 
 HAVING antal* > 5
 Lige efter eller før group by (kan ikke lige helt huske det)
 
 * = Bemærk at antal i dette tilfælde er din COUNT() fra SELECT
 HAVING skal have noget fra SELECT'en af for at kunne arbejde (husk at 
 fjerne stjernen)
 
 Hvis jeg ellers har forstået spørgsmålet korrekt :)
  
            
             |   |   
            
        
 
            
         
           Torben (19-06-2009) 
         
	
            | Kommentar Fra : Torben | 
  Dato :  19-06-09 07:09 |  
  |   
            Tak Martin
 Det virker bare!
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |