mysql常用語句及問題處理

1.允許遠(yuǎn)程登錄

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; 

2.mysql端口為0

 1. mysql> show variables like 'port';  
 2. my.cnf注釋skip-networking  

3.檢查某字段是否存在重復(fù)值

select number from lxh_order group by number having count(1)>=2  

4.附近的人

 /**
     * 根據(jù)經(jīng)緯度和半徑計(jì)算出范圍
     * @param string $lat 緯度
     * @param String $lng 經(jīng)度
     * @param float $radius 半徑
     * @return Array 范圍數(shù)組
     */
     function calcScope($lat, $lng, $radius)
    {
        $degree = (24901 * 1609) / 360.0;
        $dpmLat = 1 / $degree;

        $radiusLat = $dpmLat * $radius;
        $minLat = $lat - $radiusLat;       // 最小緯度
        $maxLat = $lat + $radiusLat;       // 最大緯度

        $mpdLng = $degree * cos($lat * (pi() / 180));
        $dpmLng = 1 / $mpdLng;
        $radiusLng = $dpmLng * $radius;
        $minLng = $lng - $radiusLng;      // 最小經(jīng)度
        $maxLng = $lng + $radiusLng;      // 最大經(jīng)度

        /** 返回范圍數(shù)組 */
        $scope = array(
            'minLat' => $minLat,
            'maxLat' => $maxLat,
            'minLng' => $minLng,
            'maxLng' => $maxLng
        );
        return $scope;
    }

 /**
     * 獲取兩個(gè)經(jīng)緯度之間的距離
     * @param  string $lat1 緯一
     * @param  String $lng1 經(jīng)一
     * @param  String $lat2 緯二
     * @param  String $lng2 經(jīng)二
     * @return float  返回兩點(diǎn)之間的距離
     */
    private function calcDistance($lng1, $lat1, $lng2, $lat2)
    {
        /** 轉(zhuǎn)換數(shù)據(jù)類型為 double */
        $lat1 = doubleval($lat1);
        $lng1 = doubleval($lng1);
        $lat2 = doubleval($lat2);
        $lng2 = doubleval($lng2);
        /** 以下算法是 Google 出來的,與大多數(shù)經(jīng)緯度計(jì)算工具結(jié)果一致 */
        $theta = $lng1 - $lng2;
        $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
        $dist = acos($dist);
        $dist = rad2deg($dist);
        $miles = $dist * 60 * 1.1515;
//        return ($miles * 1.609344);
        $distance = $miles * 1.609344;
        if ($distance < 1) {
            $distance = round($distance * 1000) . 'm';
        } else {
            $distance = round($distance, 1) . 'km';
        }
        return $distance;
    }
例:
$scope = calcScope($lat, $lng, $radius);     // 調(diào)用范圍計(jì)算函數(shù),獲取最大最小經(jīng)緯度
        //附近的優(yōu)惠卡
        $coupon_list = DB::table('coupon as c')
            ->leftJoin('coupon_item_business as cib', 'cib.coupon_id', '=', 'c.id')
            ->leftJoin('business as b', 'b.id', '=', 'cib.business_id')
            ->where('b.lat', '<', $scope['maxLat'])
            ->where('b.lat', '>', $scope['minLat'])
            ->where('b.lng', '<', $scope['maxLng'])
            ->where('b.lng', '>', $scope['minLng'])
            ->where('b.state', 0)
            ->where('c.state', 0)
            ->where('c.type', 0)
            ->distinct('c.id')
            ->select('c.id', 'c.name', 'c.price', 'c.original_price', 'c.start_time', 'c.end_time', 'c.item_count as item')
            ->get();
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容