Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL संग्रहित प्रक्रिया चर सेलेक्ट स्टेटमेंट से

कुछ चीजों को ठीक किया और एक वैकल्पिक चयन जोड़ा - उपयुक्त के रूप में हटाएं।

DELIMITER |

CREATE PROCEDURE getNearestCities
(
IN p_cityID INT -- should this be int unsigned ?
)
BEGIN

DECLARE cityLat FLOAT; -- should these be decimals ?
DECLARE cityLng FLOAT;

    -- method 1
    SELECT lat,lng into cityLat, cityLng FROM cities WHERE cities.cityID = p_cityID;

    SELECT 
     b.*, 
     HAVERSINE(cityLat,cityLng, b.lat, b.lng) AS dist 
    FROM 
     cities b 
    ORDER BY 
     dist 
    LIMIT 10;

    -- method 2
    SELECT   
      b.*, 
      HAVERSINE(a.lat, a.lng, b.lat, b.lng) AS dist
    FROM     
      cities AS a
    JOIN cities AS b on a.cityID = p_cityID
    ORDER BY 
      dist
    LIMIT 10;

END |

delimiter ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या दशमलव मान को MySQL में varchar के रूप में स्टोर करना अच्छा है?

  2. Sockets.io/node.js/javascript के साथ mysql विशेष वर्णों से कैसे बचें?

  3. MySQL के लिए OdbcParameter का उपयोग कैसे करें?

  4. उन सभी पंक्तियों का चयन करें जिनमें कम से कम सुविधाओं की सूची हो

  5. पहली और आखिरी घटना के आधार पर समूह