sql >> Database >  >> RDS >> Mysql

Hoe de HAVING- en ORDER BY-clausules in sql . te gebruiken

Gebruik where hier in plaats van having .

having is handig voor het beperken van voorwaarden voor geaggregeerde waarden.
where is handig voor het beperken van voorwaarden voor niet-geaggregeerde gegevens.

Bijwerken
SQL Server is geen MySQL, wat werkt op één ...

  1. Mag gewoon werk aan de andere
  2. Moet misschien een beetje worden aangepast om te werken
  3. Mogelijk moet het volledig opnieuw worden ontworpen voordat het werkt.

Dit zou moeten zijn wat je nodig hebt

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  ) ) ) ;  


  1. MySQL-syntaxisfout juiste syntaxis om te gebruiken in de buurt van 'desc'

  2. QMYSQL-stuurprogramma niet geladen op Windows

  3. Hoe de beginwaarde en automatische verhoging in MySQL in te stellen?

  4. NHibernate IPreUpdateEventListener, IPreInsertEventListener slaat niet op in DB