我有两张桌子 -
tbl_business
------------------------
| id | name | lat |long|
|----|------|-----|----|
| 1 | aaaa |12.45|6.88|
|----|------|-----|----|
| 2 | bbbb |12.34|6.45|
|----|------|-----|----|
| 3 | cccc |12.12|6.50|
|----|------|-----|----|和
tbl_deals
-------------------
| id | deal | bid |
|----|------|-----|
| 1 | xxxx | 1 |
|----|------|-----|
| 2 | yyyy | 1 |
|----|------|-----|
| 3 | zzzz | 2 |
|----|------|-----|现在,我想查找距离12.44, 6.66 1公里范围内的所有商家,以及优惠次数。例如。
| bid |dcount|
|-----|------|
| 1 | 2 |
|-----|------|
| 2 | 1 |
|-----|------|
| 3 | 0 |
|-----|------|我现在使用这个查询 -
SELECT bid, COUNT( id ) as count
FROM `tbl_deals`
WHERE bid
IN (
SELECT id
FROM tbl_business
WHERE ( 6371 * ACOS( COS( RADIANS( 12.44 ) ) * COS( RADIANS( lat ) ) * COS( RADIANS( long ) - RADIANS( 6.66 ) ) + SIN( RADIANS( 12.44 ) ) * SIN( RADIANS( lat ) ) ) ) < 1
)
GROUP BY bid
ORDER BY count DESC我找到了公式here。但是,这并不显示计数= 0为出价3.我猜我必须使用左连接这个,但不知道如何。