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

Bagaimana cara membandingkan variabel set pengguna di MySQL?

Ya, tabel turunan akan berfungsi. Blok pilih bagian dalam di bawah ini adalah tabel turunan. Dan setiap tabel turunan membutuhkan nama. Dalam kasus saya, xDerived .

Strateginya adalah membiarkan tabel turunan membersihkan penggunaan nama kolom. Keluar dari potongan turunan adalah kolom bersih bernama num yang pilihan luarnya bebas digunakan.

Skema

create table employee
(   id int auto_increment primary key,
    experience varchar(20) not null
);

-- truncate table employee;
insert employee(experience) values 
('4-5'),('7-1'),('4-1'),('6-5'),('8-6'),('5-9'),('10-4');

Kueri

select id,experience,num 
from 
(   SELECT id,experience, 
    CONVERT(SUBSTRING_INDEX(experience,'-',1),UNSIGNED INTEGER) AS num  
    FROM employee  
) xDerived 
where num>=7;

Hasil

+----+------------+------+
| id | experience | num  |
+----+------------+------+
|  2 | 7-1        |    7 |
|  5 | 8-6        |    8 |
|  7 | 10-4       |   10 |
+----+------------+------+

Perhatikan, @num . Anda konsepnya salah tapi mudah-mudahan saya menafsirkan apa yang Anda maksudkan di atas.

Juga, saya menggunakan 7 bukan 3 karena semua data sampel Anda akan kembali, dan saya ingin menunjukkan kepada Anda bahwa itu akan berhasil.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP - Kesalahan fatal:Panggilan ke fungsi anggota bind_param()

  2. ConfigurationErrorException dalam mencoba menjalankan aplikasi konsol dengan MySQL Entity Framework 6

  3. Bagaimana cara mengubah cap waktu menjadi datetime di MySQL?

  4. Kinerja MySQL menggunakan AUTO_INCREMENT pada PRIMARY KEY

  5. SQLSTATE[23000]:Pelanggaran batasan integritas dengan batasan yang valid