Requête Sql pour compter même les entrées de date
Tout ce que je veux pour compter les entrées en fonction de la date.(j'.e les entrées avec la même date.)
Ma table est
Vous pouvez voir la 5ème et la 6ème entrée ont même date.
Maintenant, le vrai problème que je pense que c'est la même date de l'entrée ont différents temps je ne suis donc pas obtenir ce que je veux.
Je suis en utilisant ce sql
SELECT COUNT( created_at ) AS entries, created_at
FROM wp_frm_items
WHERE user_id =1
GROUP BY created_at
LIMIT 0 , 30
Ce que je reçois est-ce.
Je veux entrées 2 pour la date 2012-02-22
Ce n'est pas vraiment un php en question. Vous devriez supprimer cette balise
Ok retiré @RayPerea
Ok retiré @RayPerea
OriginalL'auteur Ajay Patel | 2012-02-24
Vous devez vous connecter pour publier un commentaire.
La raison pour laquelle vous obtenez ce que vous obtenez est parce que vous aussi comparer le temps, à une seconde d'intervalle. Si toutes les entrées créées à la même seconde seront regroupés.
D'obtenir ce que vous voulez vraiment, vous avez besoin d'appliquer une fonction de date à la colonne created_at:
Ce serait de supprimer la partie de la colonne de champ, et ainsi de regrouper toutes les entrées créées sur le même jour. Vous pourriez aller plus loin en supprimant la partie jour pour les inscriptions de groupe créé sur le même mois de la même année, etc.
De restreindre la requête d'entrées créées dans le mois en cours, vous ajoutez un
WHERE
de la clause de la requête pour sélectionner uniquement les entrées qui satisfait à cette condition. Voici un exemple:Note: Le
COUNT(1)
-partie de la requête signifie simplementCount each row
, et vous pourriez tout aussi bien avoir écritCOUNT(*)
,COUNT(id)
ou dans tout autre domaine. Historiquement, l'approche la plus efficace était de compter la clé primaire, depuis que est toujours disponible quelle que soit l'index du moteur de recherche pourrait utiliser.COUNT(*)
l'habitude d'avoir à quitter l'index et récupérer la ligne correspondante dans la table, ce qui était parfois inefficace. Plus moderne de la requête planificateurs c'est probablement n'est plus le cas.COUNT(1)
est une autre variante de ce qui n'a pas la force de le planificateur de requête pour récupérer les lignes de la table.Modifier: La requête de groupe par mois peut être créée dans un certain nombre de façons différentes. Voici un exemple:
Mise à jour
Oh, désolé, j'ai été rapide. Les édité groupes de requêtes par mois, mais vous souhaitez que la première requête, mais seulement pour le mois en cours?
Pas de l'exactitude de votre adresse, la nouvelle est extra chose que je voulais faire! BTW Merci, j'ai appris beaucoup de choses aujourd'hui
Merci, ça a fonctionné pour moi !
OriginalL'auteur PatrikAkerstrand
Vous devez éliminer le temps avec
GROUP BY
OriginalL'auteur Shakti Singh
Oups, mal lu.
Utilisation
GROUP BY DATE(created_at)
Veuillez lire la question correctement
Nope, mysql
COUNT(*)
compte le nombre de lignes qui ont été regroupés.OriginalL'auteur ChrisPatrick
Essayer:
OriginalL'auteur Ray Perea