首页 文章

LibreOffice Calc电子表格:查找每条街道的最高门牌号码,仅显示这些行

提问于
浏览
0

我使用Lubuntu Linux和LibreOffice Calc电子表格软件 .

我有一个大的地址列表,对于整个城镇,作为LibreOffice Calc Spread表 . 行通常看起来像这样

..
15 Mike Street
17 Mike Street
5 Busy Street Drive
13 Busy Street Drive
2 Busy Street Drive
4 Busy Street Drive
6 Busy Street Drive
25 Morray Street
27A Morray Street
27B Morray Street
29 Morray Street
31 Morray Street
33 Morray Street
60 Morray Street
62 Morray Street
64 Morray Street
110 Green Road
112 Green Road
116 Green Road
118 Green Road
120 Green Road
122 Green Road
..

上面的每一行占用一个单元(即房屋/公寓号不分成不同的单元) .

对于人口统计调查,我需要了解每条街道有多少房屋/公寓 . 我的近似方法是通过识别每条街道的最高门牌号来评估每条街道的数字 . 所以我想要一个脚本或宏,它将上面的列表排序为这样

..
17 Mike Street
13 Busy Street Drive
64 Morray Street
122 Green Road
..

我在电子表格中有大约8,000行,所以我必须自动执行此操作 .

我使用LibreOffice Calc并且无法访问excel . (如果需要的话,我可以为适当的SQL查询设置/创建一个mySQL数据库,虽然很长一段时间以来我做了这样的事情并且我不确定我是否有时间重新学习该设置处理) .

有人知道如何在LibreOffice Calc中自动执行此操作 .

Bash脚本csv文件,可能会工作,但我不知道如何 .

谢谢 .

1 回答

  • 1

    我不能告诉你如何在LOC中自动执行此操作,但如果你在MySQL中这样做,那么类似下面的东西可以工作......

    DROP TABLE IF EXISTS my_table;
    
    CREATE TABLE my_table
    (address VARCHAR(30) NOT NULL PRIMARY KEY
    );
    
    INSERT INTO my_table VALUES
    ('15 Mike Street'),
    ('17 Mike Street'),
    ('5 Busy Street Drive'),
    ('13 Busy Street Drive'),
    ('2 Busy Street Drive'),
    ('4 Busy Street Drive'),
    ('6 Busy Street Drive'),
    ('25 Morray Street'),
    ('27 Morray Street'),
    ('29 Morray Street'),
    ('31 Morray Street'),
    ('33 Morray Street'),
    ('60 Morray Street'),
    ('62 Morray Street'),
    ('64 Morray Street'),
    ('110 Green Road'),
    ('112 Green Road'),
    ('116 Green Road'),
    ('118 Green Road'),
    ('120 Green Road'),
    ('122 Green Road');
    
    SELECT MAX(SUBSTRING_INDEX(address,' ',1)+0) max_no 
         , SUBSTRING(address,LOCATE(' ',address)) street
      FROM my_table
     GROUP 
        BY street;
    
    +--------+--------------------+
    | max_no | street             |
    +--------+--------------------+
    |     13 |  Busy Street Drive |
    |    122 |  Green Road        |
    |     17 |  Mike Street       |
    |     64 |  Morray Street     |
    +--------+--------------------+
    

相关问题