SQLite Cómo encontrar las ocurrencias más comunes de un valor

Digamos que tengo una tabla A con attributes X ¿Cómo encuentro las X con las ocurrencias más grandes? (Puede haber múltiples que tienen la misma ocurrencia más alta)

es decir, la tabla A

X -- 'a' 'b' 'c' 'c' 'b' 

Me gustaría volver

 X -- 'b' 'c' 

No puedo usar la palabra key ALL en Sqlite, así que estoy perdido.

Pensé en get los recuentos de cada X y luego orderarlos y luego de alguna manera usar ORDER BY DESC para que el más grande esté en la parte superior y luego LIMIT con una comparación para verificar si los valores debajo de la primera tupla son iguales (lo que significa que son solo tan común) pero no estoy seguro acerca de la syntax LIMIT y si puedo tener una condición como esa

Por favor, dame una pista y no la respuesta, ¿hay algún recurso al que pueda hacer reference para poder encontrar la manera?

Esto se ocupa de múltiples valores que tienen la máxima ocurrencia

 SELECT X FROM yourTable GROUP BY X HAVING COUNT(*) = ( SELECT MAX(Cnt) FROM( SELECT COUNT(*) as Cnt FROM yourTable GROUP BY X ) tmp ) 

FIDDLE SQL

Consulta como

 SELECT x,COUNT(x) AS cnt FROM a GROUP BY x ORDER BY cnt DESC; 

y deje de procesar las filas de resultados cuando cnt cambie.

No puede usar una cláusula LIMIT si no sabe a priori cuántas inputs pueden compartir el mismo conteo.

Simplemente solicite los datos como se describe en su pregunta, pero hágalo fila por fila y deténgase cuando el recuento devuelto difiera del de la fila anterior.

 select X, count(X) from table group by X;