MySQL- 如何使用单个 SQL 查询获取同一列的多个值?

MySQL- How to fetch multiple values of same column using a single SQL query?

我需要将结果集中的每个值存储到浮点变量中。目前我正在为此使用多个 SQL 查询。我合并了查询

float Wb_SWLat = 0;
float Wb_NELat = 0;
float Wb_SWLon = 0;
float Wb_NELon = 0;

float Nb_SWLat = 0;
float Nb_NELat = 0;
float Nb_SWLon = 0;
float Nb_NELon = 0;

//Query:
String qryWb = "select zone, SW_lat, SW_lon, NE_lat, NE_lon from tbl_zones";

try {
    Statement stmt = (Statement) conn.createStatement();

    Wb=stmt.executeQuery(qryWb);
    while(Wb.next()){ 
        if (Wb.getString("zone") == "west"){
            Wb_SWLat=Wb.getFloat("SW_lat");
            Wb_NELat=Wb.getFloat("NE_lat");
            Wb_SWLon=Wb.getFloat("SW_lon");         
            Wb_NELon=Wb.getFloat("NE_lon");
        }
        else if (Wb.getString("zone") == "north"){
            Nb_SWLat=Wb.getFloat("SW_lat");
            Nb_NELat=Wb.getFloat("NE_lat");
            Nb_SWLon=Wb.getFloat("SW_lon");         
            Nb_NELon=Wb.getFloat("NE_lon");
        }
    }
} catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

这是有效的方法吗?或这样做的正确方法?

下面是我的 MySQL table, tbl_zones:-

pk_id  jn    zone     SW_lat     SW_lon     NE_lat     NE_lon
--------------------------------------------------------------
 1     j1    west     9.99404    76.3567    9.99419    76.3572
 2     j2    north    9.99419    76.3572    9.99471    76.3573
 3     j3    south    9.99384    76.3572    9.99413    76.3573
 4     j4    east     9.99413    76.3574    9.99426    76.3577

where 子句中使用 OR 运算符。这将使您在 one 查询(和 roundtrip time to DB)中需要 both 行。

现在,为了识别每个获取的行,将 zone 添加到您的 select 语句,并在您的代码中使用 if 子句来识别 ResultSet对象。

查询应如下所示:

select SW_lat, SW_lon, NE_lat, NE_lon, zone from tbl_zones where zone='west' OR zone='north