mysql常用語句及問題處理
1.允許遠端登入
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.檢查某欄位是否存在重複值
select number from lxh_order group by number having count(1)>=2
4.附近的人
/**
* 根據經緯度和半徑計算出範圍
* @param string $lat 緯度
* @param String $lng 經度
* @param float $radius 半徑
* @return Array 範圍陣列
*/
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; // 最小經度
$maxLng = $lng + $radiusLng; // 最大經度
/** 返回範圍陣列 */
$scope = array(
'minLat' => $minLat,
'maxLat' => $maxLat,
'minLng' => $minLng,
'maxLng' => $maxLng
);
return $scope;
}
/**
* 獲取兩個經緯度之間的距離
* @param string $lat1 緯一
* @param String $lng1 經一
* @param String $lat2 緯二
* @param String $lng2 經二
* @return float 返回兩點之間的距離
*/
private function calcDistance($lng1, $lat1, $lng2, $lat2)
{
/** 轉換資料型別為 double */
$lat1 = doubleval($lat1);
$lng1 = doubleval($lng1);
$lat2 = doubleval($lat2);
$lng2 = doubleval($lng2);
/** 以下演算法是 Google 出來的,與大多數經緯度計算工具結果一致 */
$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); // 呼叫範圍計算函式,獲取最大最小經緯度
//附近的優惠卡
$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();
相關文章
- mySql常用語句MySql
- Mysql日期常用語句MySql
- 【MySQL】常用拼接語句MySql
- mysql的常用語句MySql
- mysql 常用sql語句 簡介MySql
- MySQL中常用的SQL語句MySql
- 50個SQL語句(MySQL版) 問題十四MySql
- 兩個看似奇怪的MySQL語句問題MySql
- MySQL:亂碼問題處理流程MySql
- mysql dba常用的查詢語句MySql
- MySql常用操作SQL語句彙總MySql
- linux處理oracle問題常用命令LinuxOracle
- MySQL 的 EXPLAIN 語句及用法MySqlAI
- 二、Git 問題彙總及處理Git
- 【問題處理】MySQL忘記root密碼的處理辦法MySql密碼
- MySQL問題處理——1040錯誤Too many connectionsMySql
- 自然語言處理之序列標註問題自然語言處理
- MySQL儲存過程語句及呼叫MySql儲存過程
- MySQL 的資料管理及 DML 語句MySql
- PHP中的PDO操作學習(二)預處理語句及事務PHP
- 常用MSSQL語句SQL
- sql常用語句SQL
- oracel常用語句
- Matlab常用語句Matlab
- ORACLE常用語句:Oracle
- React TSLint中常見的問題及處理方法React
- mysql語句MySql
- MYSQL速度慢的問題 記錄資料庫語句MySql資料庫
- MySQL的一些常用的SQL語句整理MySql
- MySQL資料庫:7、SQL常用查詢語句MySql資料庫
- 一次詭異的MySQL問題處理故事MySql
- NPL---自然語言處理單詞界定問題自然語言處理
- Centos7 配置靜態ip及問題處理CentOS
- Docker使用Calico網路模式配置及問題處理Docker模式
- delete 語句帶別名問題.delete
- 1.4 資料庫和常用SQL語句(正文)——MySQL資料庫命令和SQL語句資料庫MySql
- MongoDB中常用語句MongoDB
- Oracle資料庫處理壞塊問題常用命令Oracle資料庫
- MySql常用30種SQL查詢語句優化方法MySql優化