¿Cómo se separan los resultados de búsqueda por categoría? MySQL + PHP

¡Hola!

No obtuve ningún código que funcionara. Por supuesto que podría haberlo usado erróneamente porque soy un principiante. Algunos me dijeron que use subconsultas de MySQL, y otros me dijeron que use PHP foreach para lograrlo. Lo que quiero es mostrar los resultados de búsqueda de una palabra clave separados por grupos de categorías, algo así:

Resultados de la búsqueda de artículo , 3 itens en 2 categorías:

Categoría 1:

  • Artículo 1
  • Artículo 10
  • Categoría 2:

    • Artículo 1003

    ¿Puede alguien explicarme lo más simple posible?
    Gracias n avance!

    Utilizo una única solicitud que devuelve el nombre de la categoría para cada elemento y utilizo PHP para mostrarlo

    fetch()) { if($result['cat'] !== $cat) { $cat = $result['cat']; /* display cat */ } /* display items */ } ?>