嗨,我正在使用 PHP 和 mysql,我的数据库表为:
Code Price
226 0.001
7565 0.001
7566 0.001
7567 0.001
7568 0.001
7569 0.001
7570 0.001
7571 0.001
7572 0.001
7583 0.002
7584 0.002
7585 0.003
7586 0.003
我需要输出为:
Code Price
226 0.001
756 0.001
757 0.001
7583 0.002
7584 0.002
7585 0.003
7586 0.003
也就是说,如果在 10 的范围内,如果价格与它们相同,我必须修剪它的最后一个值,如果不同的价格在 10 的范围内,那么我的代码将保持原样。
如上所述,226 具有单个值,在 220 和 229 之间没有更多值,因此我们将此值设为 226 - 0.001,并且从 7565 到 7569,这些数字在 7560-7569 的范围内并且具有相同的价格,所以我将对这些使用分组并获得共同的价值 756 和 7583,7584,7585,7586,它们在 7580-7589 的范围内,但有两个价格值,所以我们不能将 group 用于全范围的代码,所以它将是它的。只有当代码在十个范围内并且价格相同时,我才需要修剪。
让我明确我的要求,我有国家名称、国家代码、城市代码和价格的数据库,我正在从 excel 中读取值。在国家/地区字段中,Excel 行中只有一个值,例如225 或 2247 或 226,而在城市代码中,将有对应于国家/地区的值,例如120,123-129,165-169可能是1-5 等。
通常我的要求是连接国家代码和相应的城市代码,如225,如果城市代码列包含120,123-129、165-169,那么值将是225120,225123,225124,225125,225126,225127,225128,225129,225165, 225166,225167,225168,225169 所以这是我原来的数据库场景。但是如果国家代码是 225 并且城市代码是空白的,并且 226 是另一个国家代码并且城市代码是空白的,那么还有一件事,因为对于正确的国家代码,城市代码将是空白的。所以正确的国家代码值不会被修剪,即使它们的价格相同,它们也会被视为225,226 。只有在连接城市代码的情况下,才会修剪这些值。
有没有最好的方法用 MySQL 查询来做到这一点。
谢谢