Comment afficher et compter les valeurs dont les dates sont d'hier? J'avais l'habitude time()
d'insérer la date dans la base de données. Exemple:
URL: google.com youtube.com google.com youtube.com test.com youtube.com
DateVisited: 1313668492 1313668540 1313668571 13154314
Je veux afficher le nombre d'URL qui en ont plusieurs dans le tableau et également le nombre de ces URL qui ont été visitées hier. Exemple de résultat:
LINK | timesExisted | timesVisitedYesterday
Google.com | 2 | 2
youtube.com| 3 | 3
J'ai déjà l'idée d'obtenir la date d'hier, mais je n'ai aucune idée du nombre de fois qu'une URL a existé hier et du nombre de fois qu'une URL a existé dans le tableau.
Vous pouvez utiliser:
ou
ou
ou
la source
Vous pouvez obtenir la date d'hier en utilisant l'expression
CAST(NOW() - INTERVAL 1 DAY AS DATE)
. Donc, quelque chose comme ça pourrait fonctionner:la source
Requête pour les dernières semaines:
la source
Calcul de la date, de la semaine, du mois et de l'année dernière ou suivante. Cela pourrait être utile à n'importe qui.
Date actuelle:
Hier:
Demain:
Dernière semaine:
1 semaine prochaine:
1 mois dernier:
Le mois suivant:
Mois en cours:
Dernière année:
1 an prochain:
la source
Bien que la réponse choisie soit correcte et plus concise, je soutiendrais la structure notée dans d'autres réponses:
Si vous avez juste besoin d'une date nue sans horodatage, vous pouvez également l'écrire comme suit:
La raison de l'utilisation de
CAST
versusSUBDATE
est laCAST
syntaxe ANSI SQL.SUBDATE
est une implémentation spécifique à MySQL du composant arithmétique de date deCAST
. Prendre l'habitude d'utiliser la syntaxe ANSI peut réduire les maux de tête si jamais vous devez migrer vers une autre base de données. Il est également bon d'avoir l'habitude en tant que pratique professionnelle car vous travaillerez presque certainement avec d'autres SGBD à l'avenir.Aucun des principaux systèmes de SGBD n'est entièrement compatible ANSI, mais la plupart d'entre eux implémentent le large ensemble de syntaxe ANSI alors que presque aucun d'entre eux en dehors de MySQL et de ses descendants (MariaDB, Percona, etc.) n'implémentera la syntaxe spécifique à MySQL.
la source
J'ai adapté l'une des réponses ci-dessus de cdhowie car je ne pouvais pas la faire fonctionner. Cela semble fonctionner pour moi. Je soupçonne qu'il est également possible de le faire avec la fonction UNIX_TIMESTAMP utilisée.
la source