Je suis très nouveau à SQL, et j'utilise MySQL, et j'ai une table qui contient des blogs. Dans cette table, j'ai une colonne nommée "blog_category". J'essaie de renvoyer des valeurs DISTINCT de la catégorie_blog qui apparaissent au moins (n) fois. Exemple:mysql sélectionnez ligne distincte, qui apparaît au moins (n) fois
blog_category
-------------
category_1
category_1
category_2
category_3
category_3
category_4
category_4
category_1
category_1
category_2
category_2
Je veux seulement revenir les catégories qui apparaissent dire, au moins 3 fois (supérieure ou égale à 3).
Je peux l'obtenir pour afficher ceux qui apparaissent plus d'une fois avec le mot-clé DISTINCT, mais je veux seulement ceux qui apparaissent réellement plus que le nombre de fois spécifié, dans ce cas seulement ceux qui apparaissent au moins que 3 fois.
Donc, dans ce cas, je veux seulement retourner "category_1" et "category_2".
J'ai essayé de nombreuses façons, mais rien ne semble fonctionner, je continue à obtenir l'erreur suivante:
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean
given in [FILE NAME OMITTED] on line 101
Voici quelques-unes des choses que j'ai essayé:
$query = "SELECT DISTINCT blog_category
FROM blog_posts
HAVING COUNT (blog_category) >= 3";
$query = "SELECT DISTINCT blog_category
FROM blog_posts
WHERE blog_category IN
(SELECT blog_category
HAVING (COUNT (blog_category) >= 3))";
$query = "SELECT DISTINCT blog_category
FROM blog_posts
WHERE blog_category
HAVING COUNT(blog_category) >= 3";
$query = "SELECT DISTINCT blog_category
FROM blog_posts
WHERE COUNT(blog_category) >= 3";
CI-DESSOUS SONT PROPOSÉS D'AUTRES RÉPONSES UTILISATEURS, QUE JE SUIS ET JUGÉS HAD AVEC NO cHANCE .....
$query = "SELECT blog_category
FROM blog_posts
GROUP BY blog_category
HAVING COUNT(*) >= 3";
vOICI TH E COMPLET SECTION DE CODE ÊTRE RAN (I testé sur la partie de test SQL directement du serveur et cela fonctionne très bien, mais quand je lance le code complet réelle, il revient sans cesse que la requête est faux):
$query = "SELECT blog_category
FROM blog_posts
GROUP BY blog_category
HAVING COUNT(*) > 2)";
$result = mysqli_query($conn, $query);
if(mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "<ul>";
echo "<li>" . $row['blog_category'] . "</p>";
echo "</ul>";
}
}
supprimer distinct ajouter 'groupe par blog_Category' après où; avant d'avoir. si non où. – xQbert
Voir https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql- requête – Strawberry
ressemble à l'erreur est liée au code que vous avez écrit après cette requête. Ajoutez le code avec les fonctions mysqli ou ajoutez le code de ce que vous faites avec $ query.Cela semble être le problème réel selon l'erreur que vous avez écrite dans votre question. –