sql >> Databáze >  >> RDS >> Mysql

mysql Počítání více výskytů multiplexovaných položek

Zkuste tento dotaz

SELECT Reason,COUNT(Reason) FROM
(
SELECT
  id,
  SUBSTRING_INDEX(SUBSTRING_INDEX(reasoncode, ',', n.digit+1), ',', -1) Reason
FROM
  table1
  INNER JOIN
  (SELECT 0 digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) n
  ON LENGTH(REPLACE(reasoncode, ',' , '')) <= LENGTH(reasoncode)-n.digit
ORDER BY
  id,
  n.digit
) T

Group By Reason;

SQL FIDDLE

Výstup by byl:

REASON  OCCURANCES
0           3
1           3
2           2
3           1


  1. Jak povolit změnu sběru dat (CDC) v celé tabulce NEBO povolit CDC v tabulce se seznamem sloupců na serveru SQL

  2. Jak filtrovat datum pomocí datetimepicker přes databázi

  3. Extrahujte n-tice se zadanými společnými hodnotami v jiném sloupci v SQL

  4. Odečítání dat v Oracle – datový typ čísla nebo intervalu?