Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como usar a cláusula HAVING e ORDER BY no sql


Use where aqui em vez de having .

having é útil para restringir as condições em valores agregados.
where é útil para restringir as condições em dados não agregados.

Atualizar
SQL Server não é MySQL, o que funciona em um...
  1. Pode apenas trabalhar no outro
  2. Pode precisar ser ajustado um pouco para funcionar
  3. Talvez precise ser completamente reprojetado antes de funcionar.

Isso deve ser o que você precisa
SELECT Id, 
       Name1, 
       ZipCode, 
       StreetName, 
       StreetNumber, 
       State1, 
       Lat, 
       Lng, 
       Keyword, 
       ( 6371 * ACOS( COS( (12.925432/57.2958) ) * COS(  (Lat/57.2958)  ) * COS( ( Lng/57.2958 ) - (77.5940171/57.2958) ) + SIN( 12.925432/57.2958 ) * SIN(  Lat/57.2958  ) ) ) AS distance  
  FROM Business_Details  
  where (Keyword like '%plumber%')  
  and ( 6371 * ACOS( COS( (12.925432/57.2958) ) * COS(  (Lat/57.2958)  ) * COS( ( Lng/57.2958 ) - (77.5940171/57.2958) ) + SIN( 12.925432/57.2958 ) * SIN(  Lat/57.2958  ) ) ) < 1.5
  ORDER BY ( 6371 * ACOS( COS( (12.925432/57.2958) ) * COS(  (Lat/57.2958)  ) * COS( ( Lng/57.2958 ) - (77.5940171/57.2958) ) + SIN( 12.925432/57.2958 ) * SIN(  Lat/57.2958  ) ) ) ;