gpt4 book ai didi

php - 如何在同一 MySQL 输出中包含 BETWEEN 输出和一条异常记录?

转载 作者:行者123 更新时间:2023-11-29 08:44:49 26 4
gpt4 key购买 nike

我正在使用 PHP 处理 MySQL。我正在从一个表中查询邮政编码,该表包含邮政编码以及每个邮政编码的纬度/经度。第二个表包含邮政编码和该邮政编码的平均收入。用户提供一个邮政编码(我们称之为基本邮政编码),它会返回 15 英里半径的邮政编码。通过网页,用户可以在 PHP 中使用 BETWEEN for MySQL 查询收入范围。

我的问题是,根据用户选择的范围,他们的基本邮政编码可能不会一直显示,因为它超出了收入范围。发生这种情况时,用户会感到困惑,因为排序的输出不包含其基本邮政编码。我希望能够包含基本邮政编码,就好像没有指定收入范围一样。

如何包含范围数据(使用 BETWEEN)并包含基本邮政编码的数据,以便它仍然利用 MySQL 的输出排序。谢谢!

更新:这是邮政编码 90210 的工作查询。如您所见,它不会按照我的意愿返回 90210,因为 BETWEEN 不在收入范围内(平均 agi):

mysql> SELECT zip, city, state, avg_agi, ( 3959 * acos( cos( radians(34.088808) ) * cos(    radians( lat ) ) * cos( radians( lng ) - radians(-118.40612) ) + sin( radians(34.088808) ) * sin( radians( lat ) ) ) ) AS distance FROM zip_codes, avgagi where zip=zipcode and avg_agi BETWEEN 100000 and 200000 HAVING distance < 5 ORDER BY distance LIMIT 0 , 10000;
+-------+----------------+-------+---------+------------------+
| zip | city | state | avg_agi | distance |
+-------+----------------+-------+---------+------------------+
| 90069 | West Hollywood | CA | 121753 | 1.42816585190112 |
| 90211 | Beverly Hills | CA | 164538 | 2.06804933097035 |
| 90024 | Los Angeles | CA | 187134 | 2.47751318825072 |
| 90025 | Los Angeles | CA | 130983 | 3.76591348160737 |
| 91604 | Studio City | CA | 103328 | 3.8634176735557 |
| 90064 | Los Angeles | CA | 130769 | 3.95933331921038 |
| 90068 | Los Angeles | CA | 100370 | 4.52908379278674 |
+-------+----------------+-------+---------+------------------+

最佳答案

WHERE(x 和 y 之间的数据)OR (zip = z)

应该工作吗?

关于php - 如何在同一 MySQL 输出中包含 BETWEEN 输出和一条异常记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12770662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com