
# SQL IP函数
#### 使用限制
LTS提供的IP与地域之间的关系，来自于第三方IP库，且数据是周期性更新（约半年），不承诺IP与地域关系完全正确；后续LTS会优化，缩短IP库的更新周期，为用户提供更好的体验。
**单IP函数聚合查询的数据量上限为500万，查询的数据超出上限可能导致查询超时。**
#### 功能描述
IP函数是分析目标IP地址所属的国家、省份、城市及对应的网络运营商。
#### 语法格式
```
SELECT count(*) AS PV, ip_to_province(client_ip) AS province GROUP BY province
```
#### IP函数语句
表1IP函数语句 
| 语句             | 说明                 | 示例                |
|:---|:---|:---|
| ip_to_province | 分析目标IP地址所属省份。      | ip_to_province(x) |
| ip_to_country  | 分析目标IP地址所属国家或地区。   | ip_to_country(x)  |
| ip_to_city     | 分析目标IP地址所属城市。      | ip_to_city(x)     |
| ip_to_provider | 分析目标IP地址所对应的网络运营商。 | ip_to_provider(x) |
| ip_to_geo      | 根据传入的ip返回ip所在的经纬度。 | ip_to_geo(x)      |
   
#### 示例及说明
- **ip_to_province函数**
  统计请求总数Top3的省份。
  1. 查询和分析语句
     ```
     SELECT count(*) AS PV, ip_to_province(client_ip) AS province GROUP BY province ORDER BY PV desc LIMIT 3
     ```
     
  
  2. 查询和分析结果
     表2查询和分析结果 
     | PV  | province |
     |:---|:---|
     | 101 | 广东       |
     | 83  | 上海       |
     | 78  | 山东       |
        
     
    
- **ip_to_country函数**
  统计请求总数的Top3的国家或地区。
  1. 查询和分析语句
     ```
     SELECT count(*) AS PV, ip_to_country(client_ip) AS country GROUP BY country ORDER BY PV desc LIMIT 3
     ```
     
  
  2. 查询和分析结果
     表3查询和分析结果 
     | PV  | country |
     |:---|:---|
     | 100 | 中国      |
     | 76  | 美国      |
     | 55  | 加拿大     |
        
     
    
- **ip_to_city函数**
  统计请求总数的Top3的城市。
  1. 查询和分析语句
     ```
     SELECT count(*) AS PV, ip_to_city(client_ip) AS city GROUP BY city ORDER BY PV desc LIMIT 3
     ```
     
  
  2. 查询和分析结果
     表4查询和分析结果 
     | PV  | city |
     |:---|:---|
     | 109 | 广州   |
     | 89  | 上海   |
     | 23  | 西安   |
        
     
    
- **ip_to_provider函数**
  统计请求总数的Top3的运营商。
  1. 查询和分析语句
     ```
     SELECT count(*) AS PV, ip_to_provider(client_ip) AS provider GROUP BY provider ORDER BY PV desc LIMIT 3
     ```
     
  
  2. 查询和分析结果
     表5查询和分析结果 
     | PV  | provider |
     |:---|:---|
     | 115 | 电信       |
     | 65  | att.com  |
     | 44  | 联通       |
        
     
    
- **ip_to_geo** **函数**
  根据传入的ip返回经纬度。
  1. 查询和分析语句
     ```
     SELECT count(*) AS PV, ip_to_geo (client_ip) AS geo GROUP BY geo ORDER BY PV desc LIMIT 3
     ```
     
  
  2. 查询和分析结果
     表6查询和分析结果 
     | PV  | geo                    |
     |:---|:---|
     | 101 | \*, \*                 |
     | 83  | 47.369013, -68.326674  |
     | 78  | 32.715891, -117.161588 |
        
     
   
 
