Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Projekt bazy danych do przechowywania wzorców kolorów obrazu w MySQL w celu wyszukiwania obrazu według koloru

Powinieneś to znormalizować.

3 stoły:

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

Wstawianie danych powinno być proste, użyj ...insert_id funkcji, aby uzyskać identyfikator z właśnie wstawionego wiersza.

Wybierz z połączeniami takimi jak:

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

Sprawdź ten link, aby dowiedzieć się, jak przekonwertować kolor HEX na wartości RGB:http://bavotasan.com/2011/convert-hex-color-to-rgb-using-php/

Wyszukaj 10 najlepszych naprawdę czerwonych zdjęć:

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

Szukaj raczej czarnych zdjęć:

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. Każda tabela pochodna musi mieć swój własny błąd aliasu

  2. Jak uzyskać liczbę wierszy dotkniętych podczas wykonywania zapytania MySQL z bash?

  3. Problem PHP OOP z bazą danych

  4. Instrukcja SQL CASE

  5. Jak korzystać z wielu baz danych dla jednej aplikacji rails 3.1 w Heroku?