首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL数据处理。如何从数据库中获取斜杠后的值

MySQL数据处理。如何从数据库中获取斜杠后的值
EN

Stack Overflow用户
提问于 2014-10-21 22:39:50
回答 2查看 155关注 0票数 0

我正在处理MySQL数据库中有关城镇和城镇内区域的一些数据。

数据库如下所示

代码语言:javascript
运行
复制
ID | NAME
1  | Manchester
2  | Manchester/North
3  | Manchester/South
4  | Manchester/East
5  | Manchester/West

我尝试过一个PHP脚本,它只查找/后面的单词,并根据计数变量$j生成一个数字,但到目前为止它还不起作用。稍后,我计划将其写入变量$data所在的JSON文件中。

我的理想输出将是north south east west 4

这是脚本

代码语言:javascript
运行
复制
$j=0;
foreach($data->objects->layer->geometries as &$h)
{
   foreach($result as $row)
   {
     preg_match("/[^\/]+$/", $row['name'], $matches); // Town/Region
     $no_slash = $matches[0]; // Region
     if(strtolower($h->properties->name) == $no_slash)
     {
        $h->properties->id = $row['id'];
        $j++;

        echo $j . " " . $no_slash . "<br />";
     }
 } 
} 

echo "Number of matches: " . $j;

我现在的输出是Number of matches: 0,有人知道为什么吗?

EN

回答 2

Stack Overflow用户

发布于 2014-10-21 22:52:29

如果我正确理解了您的问题,您可以使用以下MySQL查询:

代码语言:javascript
运行
复制
SELECT
  SUBSTRING_INDEX(NAME, '/', 1) AS city,
  GROUP_CONCAT(SUBSTRING_INDEX(NAME, '/', -1) SEPARATOR ' ') AS districts,
  COUNT(*) AS cnt
FROM
  tablename
WHERE
  NAME like '%/%'
GROUP BY
  city

请参阅fiddle here

票数 0
EN

Stack Overflow用户

发布于 2014-10-21 22:55:38

示例数据:

代码语言:javascript
运行
复制
CREATE TABLE t
    (`ID` int, `NAME` varchar(16))
;

INSERT INTO t
    (`ID`, `NAME`)
VALUES
    (1, 'Manchester'),
    (2, 'Manchester/North'),
    (3, 'Manchester/South'),
    (4, 'Manchester/East'),
    (5, 'Manchester/West');

查询:

代码语言:javascript
运行
复制
SELECT
SUBSTRING(Name, 1, LOCATE('/', Name) - 1) Town,
CONCAT(GROUP_CONCAT(SUBSTRING(Name, LOCATE('/', Name) + 1)), ': ', COUNT(*)) AS Regions
FROM t
WHERE Name LIKE '%/%'
GROUP BY Town;

输出:

代码语言:javascript
运行
复制
|       TOWN |                  REGIONS |
|------------|--------------------------|
| Manchester | North,South,East,West: 4 |

  • live demo
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26489420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档