Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

gunakan nilai kolom sebagai nama kolom mysql

Anda tidak dapat merujuk ke alias kolom dalam SELECT same yang sama ayat. Anda perlu memindahkannya ke subquery. Dan Anda tidak dapat merujuk ke alias di WHERE klausa dari SELECT . yang sama , Anda perlu menggunakan HAVING .

SELECT *, (((acos(sin(("26.851791"*pi()/180)) * sin((`lat`*pi()/180))+cos(("26.851791"*pi()/180)) * cos((`lat`*pi()/180)) * cos((("75.781810"- `lng`)*pi()/180))))*180/pi())*60*1.1515*1.609344) as distance
FROM (SELECT *, 
        SUBSTRING_INDEX( location, ',', 1 ) AS lat, 
        SUBSTRING_INDEX( location, ',', -1 ) AS lng
      FROM users_test) x
HAVING distance > 5

Saya sangat menyarankan Anda memperbaiki desain tabel Anda untuk menempatkan garis lintang dan garis bujur di kolomnya sendiri, daripada harus membagi koma setiap saat.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyortir beberapa bidang di MySQL

  2. mysql show Hitungan baris dari tabel lain di setiap baris

  3. Apakah MySQL mengindeks nilai NULL?

  4. Tanggal waktu MySQL tidak mengembalikan waktu

  5. Python SQL – Cara menggunakan Database SQLite, MySQL, dan PostgreSQL dengan Python