Rumah  >  Soal Jawab  >  teks badan

php - Bagaimana untuk melakukan carian julat untuk medan kumpulan umur dalam format yang serupa dengan 20-35 dalam MYSQL?

Terdapat umur medan dalam mysql, yang menyimpan kumpulan umur Format seperti yang ditunjukkan dalam gambar. Keperluan semasa adalah untuk mencari berdasarkan kumpulan umur Sebagai contoh, saya ingin mencari semua data antara umur 25-34. Maka inilah masalahnya Jika anda menggunakan dan di mana, anda akan mendapat hasil yang sangat sedikit, hampir tiada jika anda menggunakan atau, hasilnya akan menjadi lebih banyak, tetapi jelas hasilnya tidak tepat. Bagaimana untuk mencarinya dengan tepat

Terima kasih semua atas jawapan anda Kaedah yang saya gunakan sekarang ialah

PILIH umur DARI

WHERE ((substring_index(umur,'-',1) >= 16 ATAU substring_index(umur,'-',-1) = 0) ATAU (substring_index(umur,'-',- 1) <= 24)) DAN !(substring_index(umur,'-',1) = 0 DAN substring_index(umur,'-',-1) = 0);

jobsIa hampir tidak berfungsi, tetapi ada sesuatu yang terasa pelik

代言代言2659 hari yang lalu989

membalas semua(8)saya akan balas

  • 怪我咯

    怪我咯2017-06-10 09:49:49

    Ikut kata awak, kalau 30-55 sepadan 25-34 boleh jadi macam ni

    select * from tbl where left(age,2)<=34 and right(age,2)>=25;

    balas
    0
  • PHP中文网

    PHP中文网2017-06-10 09:49:49

    Ini sukar untuk dinilai Adakah 30-55 memenuhi syarat 25-34 yang anda mahukan? Atau adakah ia mesti dalam 25-34? Ia bergantung pada keperluan khusus anda

    balas
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-10 09:49:49

    Saya sangat ingin tahu mengapa struktur jadual data direka seperti ini. Mengapa ia tidak menyimpan umur? Jika struktur jadual direka bentuk seperti ini, mengapa kita perlu mengambil data antara 25-34 tahun? Umur anda hanyalah julat tertentu, bukan nilai khusus Anda harus mereka bentuk semula struktur jadual anda dan jangan tersilap tersilap

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-10 09:49:49

    1 Jika anda menyimpan kumpulan umur seperti ini, adakah anda perlu membuat satu lagi kunci untuk membezakan jangka umur?
    2. Tangkapan skrin juga menunjukkan reka bentuk span seperti 1-5, 2-6, dan 3-4 Jika pengguna memilih 3, yang manakah harus dia pilih?

    balas
    0
  • 代言

    代言2017-06-10 09:49:49

    Ramai orang yang tidak memahami fungsi terbina dalam MySQL memberikan arahan rawak kepada orang lain

    balas
    0
  • 为情所困

    为情所困2017-06-10 09:49:49

    Punca masalah ialah reka bentuk pangkalan data tidak munasabah

    balas
    0
  • 滿天的星座

    滿天的星座2017-06-10 09:49:49

    Adalah disyorkan agar anda menggunakan pemikiran abstrak untuk memikirkan kembali: fikirkan maklumat yang disimpan dalam medan umur dalam jadual sebagai set A, dan fikirkan keadaan di mana sebagai set C. Apakah situasi yang perlu dicapai oleh keputusan akhir anda?

    1. Set A dan set C mempunyai persimpangan

    2. Set A ialah subset set C

    3. Set C sendiri adalah set C

    Maka atas dasar ini, struktur jadual semasa anda pasti tidak sesuai Jika jumlah data tidak besar, anda boleh membersihkan data di luar talian dan membahagikan medan umur kepada had bawah dan had atas, dan kemudian lakukan kaedah penapisan pengumpulan Itu. banyak.

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-10 09:49:49

    Struktur jadual anda tidak dapat mencapai fungsi yang anda nyatakan

    balas
    0
  • Batalbalas