J'ai une table de rapports qui a ces domaines pertinents:enregistrements de comptage d'une requête groupée avec des critères supplémentaires
user_id (int 11)
submitted_date (datetime)
approved_flag (shortint 1)
Il y a plusieurs lignes par user_id
, certaines avec approved_flag
= 0 et quelques-uns avec approved_flag
= 1 et chacun avec un submitted_date
unique.
J'ai besoin d'obtenir le nombre de rapports approuvés et non approuvés. Mais je veux seulement compter le plus récent rapport soumis par utilisateur (le plus récent submitted_date
), indépendamment de approved_flag
.
Donc, s'il y avait 4 dossiers comme celui-ci:
user_id, submitted_date, approved_flag 1, 2009-04-01 01:00, 1 1, 2009-04-01 02:00, 0 1, 2009-04-01 03:00, 1 (using this record) 2, 2009-04-02 01:00, 1 (using this record)
le nombre serait 2 approuvé et pas non approuvé, et si nous avions
user_id, submitted_date, approved_flag 1, 2009-04-01 01:00, 1 1, 2009-04-01 02:00, 0 1, 2009-04-01 03:00, 0 (using this record) 2, 2009-04-02 01:00, 0 2, 2009-04-02 02:00, 1 (using this record)
le nombre serait 1 approuvé (utilisateur id 2) et 1 non approuvé (id utilisateur 1). Pour résumer une fois de plus parce que ce n'est pas facile à décrire: Je veux le nombre total d'utilisateurs uniques dans la table (sans tenir compte de # lignes par utilisateur) et je veux qu'il soit décomposé en 'approuvé' et 'non approuvé »basé sur le approved_flag
du rapport le plus récent par utilisateur.
Toute aide serait grandement appréciée, merci!
Je comprends bien que vous n'auriez jamais un nombre supérieur à un (par utilisateur)? et que vos comptes approuvés + non approuvés ne seraient jamais supérieurs à un (par utilisateur)? –