sql DISTINCT 和 substring_index()

distinct

查找某列中不重复的值,如某一列值查出来后,有很很多重复的,直接用 如下语句,就把重复的值过滤了,方便很多

SELECT DISTINCT Company FROM Orders 

substring_index()

些函数是截取字段中值用的,如我要截取www.abc.com,我只如下代码就可以了

SELECT   substring_index(domain,'.',-2) FROM space

得出abc.com,这一列的域名都截成功了,很方便,不用我在想程序的方式了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SELECT DISTINCT cr.id, IF( cr.cur_local IS NULL, cr.end_local, cr.cur_local ) AS end_local, cr.route_status, cra.car_info_id, si.user_name AS name, ci.car_number, ci.car_used, si.phone_number AS driver_phone, ci.use_type, IF( cr.cur_local_time IS NULL, cr.end_time, cr.cur_local_time ) AS end_time, cr.is_gps_hardware AS is_device FROM car_route cr LEFT JOIN car_route_apply cra ON cr.id = cra.route_id LEFT JOIN car_info ci ON ci.id = cra.car_info_id LEFT JOIN zt_sys_user_info si ON si.id = cr.user_id LEFT JOIN zt_sys_staff_info ss ON ss.user_id = cr.user_id WHERE ss.company_id = '5b14469fd5564f04a0a2baed31d8d7c6' AND cr.create_time IN (SELECT MAX(b.create_time) FROM car_route b LEFT JOIN zt_sys_staff_info c ON c.user_id = b.user_id WHERE b.user_id IS NOT NULL AND b.user_id <> '' AND b.route_status IN (2, 3, 4) AND b.route_type IN (1, 2) AND c.company_id = '5b14469fd5564f04a0a2baed31d8d7c6' AND ( ST_Distance( ST_GeomFromText( CONCAT( 'POINT(', SUBSTRING_INDEX(cur_local, ',', - 1), ' ', SUBSTRING_INDEX(cur_local, ',', 1), ')' ) ), ST_GeomFromText( CONCAT( 'POINT(', SUBSTRING_INDEX( '39.915,116.404', ',', - 1 ), ' ', SUBSTRING_INDEX( '39.915,116.404', ',', 1 ), ')' ) ) ) < 37417 OR ST_Distance( ST_GeomFromText( CONCAT( 'POINT(', SUBSTRING_INDEX(end_local, ',', - 1), ' ', SUBSTRING_INDEX(end_local, ',', 1), ')' ) ), ST_GeomFromText( CONCAT( 'POINT(', SUBSTRING_INDEX( '39.915,116.404', ',', - 1 ), ' ', SUBSTRING_INDEX( '39.915,116.404', ',', 1 ), ')' ) ) ) < 37417 ) GROUP BY b.user_id) 帮我优化这段sql
07-15

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值