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

Desain database untuk menyimpan pola warna gambar di MySQL untuk mencari Gambar berdasarkan warna

Anda harus menormalkan ini.

3 Tabel:

Image {image_id, name}
Colors {color_id, red, green, blue, alpha}
ImageHasColor {image_id, color_id, number_of_times_appeared}

Memasukkan data harus sederhana, gunakan ...insert_id berfungsi untuk mendapatkan id dari baris yang baru saja Anda masukkan.

Pilih dengan gabungan seperti:

SELECT * FROM
Image i
JOIN ImageHasColors h
ON i.image_id = h.image_id
JOIN Colors c
ON c.color_id = h.color_id
ORDER BY i.image_id

Periksa tautan ini tentang cara mengonversi warna HEX ke nilai RGB:http://bavotasan.com/2011/convert-hex-color-to-rgb-using-php/

Cari top 10 gambar yang benar-benar merah:

SELECT * FROM
Image i
JOIN ImageHasColors h
ON i.image_id = h.image_id
JOIN Colors c
ON c.color_id = h.color_id
WHERE c.red > 200
AND   c.green < 50
AND   c. green < 50
ORDER BY h.number_of_times_appeared
LIMIT 10

Cari gambar yang agak hitam:

SELECT * FROM
Image i
JOIN ImageHasColors h
ON i.image_id = h.image_id
JOIN Colors c
ON c.color_id = h.color_id
WHERE c.red < 30
AND   c.green < 30
AND   c. green < 30
ORDER BY h.number_of_times_appeared
LIMIT 10


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sisipkan Tabel MySql jika tidak ada atau perbarui

  2. Bagaimana cara membatasi jumlah baris yang dapat disimpan di tabel mysql?

  3. Setara dengan GROUP_CONCAT di Django

  4. Fungsi MySQL ATAN() – Mengembalikan Tangen Busur dari Nilai (atau Nilai)

  5. Hak istimewa pengguna MySQL di server bersama