La sélection de la coulée de sortie comme un entier dans SQL
Je travaille sur un site qui m'oblige à afficher un graphique du nombre moyen par jour d'une entrée de l'utilisateur. J'ai une requête SQL déjà que revient cette info pour moi:
SELECT sum(number)/count(number) as average, date FROM stats WHERE * GROUP BY date
Cela me donne le résultat que je recherche, mais le résultat est donné avec trois décimales de précision. Je veux ronde de ce nombre. Je pourrais le faire en PHP ou mon moteur de template, bien sûr, mais j'étais curieux de savoir si il y avait moyen de faire tout cela dans la base de données.
Est-il un moyen de jeter une sortie comme un entier (MySQL)?
- Par curiosité, une raison quelconque vous n'êtes pas à l'aide de fonction AVG?
- n'avait aucune idée de qui a existé! Est-il une raison pour l'utiliser? (mieux, plus vite, plus fort?)
- Plus concis et évite de diviser par zéro des problèmes dans d'autres Sgbdr (autant que je sache, MySQL retourne
NULL
sur une division par zéro de toute façon)
Vous devez vous connecter pour publier un commentaire.
INT
sans erreur.Les types valides pour une
CAST
dans MySQL sont comme suitBINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL[(M[,D])]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
Afin que vous pouvez utiliser
Ou
SIGNED
si leSUM
partie peut jamais ajouter jusqu'à un nombre négatif.comment sur l'utilisation de MySQL
FORMAT
Fonction?Utiliser le
DIV
de l'opérateur.ou