Bonjour à tous,
Quelle requête SQL me permet de connaitre le client qui a le plus de clics ?
Merci.
Bonjour à tous,
Quelle requête SQL me permet de connaitre le client qui a le plus de clics ?
Merci.
Dommage que ce soit urgent et que votre question soit aussi imprécise !
Quelle est la structure de vos tables à interroger ?
Quel SGBD utilisez-vous ?
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
boujour,
la table interroger comporte les deux colonnes nb_clic et nb_client et le sgbb c'est le sqlquery.
On va commencer par la fin...
Non, c'est "Microsoft SQL Server", comme indiqué sur votre photo.le sgbb c'est le sqlquery
Maintenant, la réponse à votre problème...
Quelle est la clé primaire de la table ?
Si j'en comprends bien la structure, il s'agit de stocker, pour chaque événement de chaque département le nombre de clics par client.
Si vous vous voulez le client qui a le plus de clics au total, il faut alors grouper par client et additionner les nb_clics.
Ensuite, vous cherchez dans le résultat de cette sous requête le total_clics maxi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT no_client, SUM(nb_clics) AS total_clics FROM dbo.T_clic GROUP BY no_client
Et enfin vous cherchez le ou les clients qui ont ce max_total_clics :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT MAX(total_clics) AS max_total_clics FROM ( SELECT no_client, SUM(nb_clics) AS total_clics FROM dbo.T_clic GROUP BY no_client ) tmp
Je crois qu'il existe une fonction plus simple sous SQL Server (TOP ?) mais comme je ne la connais pas plus que par son nom, je vous laisse chercher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SELECT no_client, SUM(nb_clics) AS total_clics FROM dbo.T_clic GROUP BY no_client HAVING SUM(nb_clics) = ( SELECT MAX(total_clics) AS max_total_clics FROM ( SELECT no_client, SUM(nb_clics) AS total_clics FROM dbo.T_clic GROUP BY no_client ) tmp )
Je vous aurai au moins donné la méthode pour construire petit à petit une requête complexe.
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Re bounjour,
quand je exécute les requête que vous m'avez donne, je reçois des message d'erreur
D'après votre image précédente, il semble qu'il faille écrire les noms de colonnes entre crochets, ce qui n'est pas du standard SQL donc surprenant de la part de SQLServer mais essayez toujours.
Je ne suis pas utilisateur de ce SGBD.
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
bonsoir,
j'ai résolu le problème en mettant des accolades
merci pour votre aide
je une question, est ce que on peut liée deux tables sans faire une jointure ?
Que voulez-vous dire par là ?est ce que on peut liée deux tables sans faire une jointure ?
Quel est votre besoin ?
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
la question est la suivante :
le nombre de clics par departement en ayant le libellé du département
Et bien c'est justement à ça que servent les jointures mais il va falloir apprendre à en faire !le nombre de clics par departement en ayant le libellé du département
Et à l'avenir, au lieu de poster la photo de votre écran, copiez-collez vos tentatives de requêtes entre des balises code (bouton # dans la barre d'outils de l'éditeur de messages).
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
ce bon pour la requête
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 select [ nb_clics], [ li_departement ], [ no_dept ] from [dbo].[T_clic],[dbo].[t_ref_departement] where [dbo].[T_clic].[ no_dept ] = [dbo].[t_ref_departement].[ no_departement ]
Je vous donne un lien qui explique que les jointures se font avec l'opérateur JOIN mais vous nous présentez une jointure à l'ancienne (avant 1992) !
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
bonjour,
je la requête suivante pour la question suivant 'le nombre de clics total entre le 05 janvier 2015 et 10 janvier 2015 inclus'
mais il m'affiche des colonnes vides!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 select [ da_event], count([ nb_clics]) from [dbo].[T_clic] where [ da_event ] between '2015-01-05' and '2015-01-10' group by [ da_event]
Il s'agit sans doute d'un problème sur le format de date.
ce bon j'ai réglé le problème merci pour votre retour,
et pour extraire des données de la même journée de deux colonnes différentes ?
De quel type est la colonne da_event ?
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
oui de la colonne da_event ?
exactement la question et la suivante
sortie les client qui ont des clics et affichages dans la même journée.
Et bien montrez ce que vous avez essayé comme requête !
On ne fera pas vos devoirs à votre place !
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
bonjour, voila ma requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #select [ nb_clics],[ nb_affichages ] from [dbo].[t_affichage], [dbo].[T_clic] where [dbo].[T_clic].[ no_dept ]=[dbo].[t_affichage].[ no_dept ] and DATEADD (day , 1, GETDATE())
Combien de fois va t-il falloir vous dire que les jointures se font depuis 1992 avec l'opérateur JOIN ?
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager