Als u de opmerkingen adresseert, klinkt het alsof u uw gegevensmodel moet aanpassen omdat u een veel-op-veel (M-naar-N) relatie tussen items en categorieën wilt, terwijl u gegevens hebt die niet in 1NF zijn (omdat deze door komma's zijn gescheiden).
Dit kan worden bereikt met behulp van een kruistabel (ook bekend als een kruistabel: hier is een Wikipedia-voorbeeld ) .
Om het aantal categorieën voor elk item te tellen (met minimaal 1 categorie):
SELECT item_id, count(*)
FROM junction_table
GROUP BY item_id
En om het aantal items voor elke categorie te tellen (met minimaal 1 artikel):
SELECT category_id, count(*)
FROM junction_table
GROUP BY category_id
Als u ook items/categorieën wilt opnemen waarvoor er geen categorieën/items waren, kunt u LEFT JOIN
toevoegen aan de betreffende tabel.