Bonjour,
J'ai essayé d'introduire un count dans ma requête mais j'obtiens chaque fois
une erreur. J'ai essayé avec des group by.
J'aimerais savoir combien de machines ont le software installé
(count(value))...
Qqun pourrait m'éclairer ? Voici le query en question :
select c.computer_name, cl.value
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Merci d'avance !
Bonjour,
J'ai essayé d'introduire un count dans ma requête mais j'obtiens chaque fois
une erreur. J'ai essayé avec des group by.
J'aimerais savoir combien de machines ont le software installé
(count(value))...
Qqun pourrait m'éclairer ? Voici le query en question :
select c.computer_name, cl.value
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Merci d'avance !
Bonjour,
J'ai essayé d'introduire un count dans ma requête mais j'obtiens chaque fois
une erreur. J'ai essayé avec des group by.
J'aimerais savoir combien de machines ont le software installé
(count(value))...
Qqun pourrait m'éclairer ? Voici le query en question :
select c.computer_name, cl.value
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Merci d'avance !
Tu fais comme ca :
select count(*)
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Olivier,
Fred a écrit :Bonjour,
J'ai essayé d'introduire un count dans ma requête mais j'obtiens chaque
fois une erreur. J'ai essayé avec des group by.
J'aimerais savoir combien de machines ont le software installé
(count(value))...
Qqun pourrait m'éclairer ? Voici le query en question :
select c.computer_name, cl.value
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Merci d'avance !
Tu fais comme ca :
select count(*)
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Olivier,
Fred a écrit :
Bonjour,
J'ai essayé d'introduire un count dans ma requête mais j'obtiens chaque
fois une erreur. J'ai essayé avec des group by.
J'aimerais savoir combien de machines ont le software installé
(count(value))...
Qqun pourrait m'éclairer ? Voici le query en question :
select c.computer_name, cl.value
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Merci d'avance !
Tu fais comme ca :
select count(*)
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Olivier,
Fred a écrit :Bonjour,
J'ai essayé d'introduire un count dans ma requête mais j'obtiens chaque
fois une erreur. J'ai essayé avec des group by.
J'aimerais savoir combien de machines ont le software installé
(count(value))...
Qqun pourrait m'éclairer ? Voici le query en question :
select c.computer_name, cl.value
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Merci d'avance !
OlivierH avait énoncé :Tu fais comme ca :
select count(*)
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Olivier,
Fred a écrit :Bonjour,
J'ai essayé d'introduire un count dans ma requête mais j'obtiens
chaque fois une erreur. J'ai essayé avec des group by.
J'aimerais savoir combien de machines ont le software installé
(count(value))...
Qqun pourrait m'éclairer ? Voici le query en question :
select c.computer_name, cl.value
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Merci d'avance !
en supprimant l'order by bien sûr
OlivierH avait énoncé :
Tu fais comme ca :
select count(*)
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Olivier,
Fred a écrit :
Bonjour,
J'ai essayé d'introduire un count dans ma requête mais j'obtiens
chaque fois une erreur. J'ai essayé avec des group by.
J'aimerais savoir combien de machines ont le software installé
(count(value))...
Qqun pourrait m'éclairer ? Voici le query en question :
select c.computer_name, cl.value
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Merci d'avance !
en supprimant l'order by bien sûr
OlivierH avait énoncé :Tu fais comme ca :
select count(*)
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Olivier,
Fred a écrit :Bonjour,
J'ai essayé d'introduire un count dans ma requête mais j'obtiens
chaque fois une erreur. J'ai essayé avec des group by.
J'aimerais savoir combien de machines ont le software installé
(count(value))...
Qqun pourrait m'éclairer ? Voici le query en question :
select c.computer_name, cl.value
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Merci d'avance !
en supprimant l'order by bien sûr
Oui tout à fait,
car cela ne sert à rien.
olivier,
TedIF a écrit :
> OlivierH avait énoncé :
>> Tu fais comme ca :
>>
>>
>> select count(*)
>> from computer_lists cl
>> inner join computer c
>> on c.computer_id = cl.computer_id
>> where cl.list_type='Software'
>> order by cl.value
>>
>>
>> Olivier,
>>
>> Fred a écrit :
>>> Bonjour,
>>> J'ai essayé d'introduire un count dans ma requête mais j'obtiens
>>> chaque fois une erreur. J'ai essayé avec des group by.
>>> J'aimerais savoir combien de machines ont le software installé
>>> (count(value))...
>>> Qqun pourrait m'éclairer ? Voici le query en question :
>>>
>>> select c.computer_name, cl.value
>>> from computer_lists cl
>>> inner join computer c
>>> on c.computer_id = cl.computer_id
>>> where cl.list_type='Software'
>>> order by cl.value
>>>
>>> Merci d'avance !
>>>
>>>
>>>
>>>
>>>
>
> en supprimant l'order by bien sûr
>
Oui tout à fait,
car cela ne sert à rien.
olivier,
TedIF a écrit :
> OlivierH avait énoncé :
>> Tu fais comme ca :
>>
>>
>> select count(*)
>> from computer_lists cl
>> inner join computer c
>> on c.computer_id = cl.computer_id
>> where cl.list_type='Software'
>> order by cl.value
>>
>>
>> Olivier,
>>
>> Fred a écrit :
>>> Bonjour,
>>> J'ai essayé d'introduire un count dans ma requête mais j'obtiens
>>> chaque fois une erreur. J'ai essayé avec des group by.
>>> J'aimerais savoir combien de machines ont le software installé
>>> (count(value))...
>>> Qqun pourrait m'éclairer ? Voici le query en question :
>>>
>>> select c.computer_name, cl.value
>>> from computer_lists cl
>>> inner join computer c
>>> on c.computer_id = cl.computer_id
>>> where cl.list_type='Software'
>>> order by cl.value
>>>
>>> Merci d'avance !
>>>
>>>
>>>
>>>
>>>
>
> en supprimant l'order by bien sûr
>
Oui tout à fait,
car cela ne sert à rien.
olivier,
TedIF a écrit :
> OlivierH avait énoncé :
>> Tu fais comme ca :
>>
>>
>> select count(*)
>> from computer_lists cl
>> inner join computer c
>> on c.computer_id = cl.computer_id
>> where cl.list_type='Software'
>> order by cl.value
>>
>>
>> Olivier,
>>
>> Fred a écrit :
>>> Bonjour,
>>> J'ai essayé d'introduire un count dans ma requête mais j'obtiens
>>> chaque fois une erreur. J'ai essayé avec des group by.
>>> J'aimerais savoir combien de machines ont le software installé
>>> (count(value))...
>>> Qqun pourrait m'éclairer ? Voici le query en question :
>>>
>>> select c.computer_name, cl.value
>>> from computer_lists cl
>>> inner join computer c
>>> on c.computer_id = cl.computer_id
>>> where cl.list_type='Software'
>>> order by cl.value
>>>
>>> Merci d'avance !
>>>
>>>
>>>
>>>
>>>
>
> en supprimant l'order by bien sûr
>
Bonjour,
Je ne vois pas ce qu'il y a de différent dans vos 2 réponses ?
J'ai également besoin de voir apparaître le nom de la machine dand le
résultat.
Quoi qu'il en soit, j'ai tjs la même erreur :
Column "computer_lists.value" is invalid in the ORDER BY clause because it
is not contained in either an aggregate function or the GROUP BY clause.
D'avance merci,
"OlivierH" <"nospam[contact]" a écrit :Oui tout à fait,
car cela ne sert à rien.
olivier,
TedIF a écrit :OlivierH avait énoncé :Tu fais comme ca :
select count(*)
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Olivier,
Fred a écrit :Bonjour,
J'ai essayé d'introduire un count dans ma requête mais j'obtiens
chaque fois une erreur. J'ai essayé avec des group by.
J'aimerais savoir combien de machines ont le software installé
(count(value))...
Qqun pourrait m'éclairer ? Voici le query en question :
select c.computer_name, cl.value
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Merci d'avance !
en supprimant l'order by bien sûr
Bonjour,
Je ne vois pas ce qu'il y a de différent dans vos 2 réponses ?
J'ai également besoin de voir apparaître le nom de la machine dand le
résultat.
Quoi qu'il en soit, j'ai tjs la même erreur :
Column "computer_lists.value" is invalid in the ORDER BY clause because it
is not contained in either an aggregate function or the GROUP BY clause.
D'avance merci,
"OlivierH" <"nospam[contact]" a écrit :
Oui tout à fait,
car cela ne sert à rien.
olivier,
TedIF a écrit :
OlivierH avait énoncé :
Tu fais comme ca :
select count(*)
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Olivier,
Fred a écrit :
Bonjour,
J'ai essayé d'introduire un count dans ma requête mais j'obtiens
chaque fois une erreur. J'ai essayé avec des group by.
J'aimerais savoir combien de machines ont le software installé
(count(value))...
Qqun pourrait m'éclairer ? Voici le query en question :
select c.computer_name, cl.value
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Merci d'avance !
en supprimant l'order by bien sûr
Bonjour,
Je ne vois pas ce qu'il y a de différent dans vos 2 réponses ?
J'ai également besoin de voir apparaître le nom de la machine dand le
résultat.
Quoi qu'il en soit, j'ai tjs la même erreur :
Column "computer_lists.value" is invalid in the ORDER BY clause because it
is not contained in either an aggregate function or the GROUP BY clause.
D'avance merci,
"OlivierH" <"nospam[contact]" a écrit :Oui tout à fait,
car cela ne sert à rien.
olivier,
TedIF a écrit :OlivierH avait énoncé :Tu fais comme ca :
select count(*)
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Olivier,
Fred a écrit :Bonjour,
J'ai essayé d'introduire un count dans ma requête mais j'obtiens
chaque fois une erreur. J'ai essayé avec des group by.
J'aimerais savoir combien de machines ont le software installé
(count(value))...
Qqun pourrait m'éclairer ? Voici le query en question :
select c.computer_name, cl.value
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
order by cl.value
Merci d'avance !
en supprimant l'order by bien sûr
Bonjour,
Il faut que tu enleves le order by,
select c.computer_name, count(*) as NbOrdi
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
Group By computer_name
olivier
Fred a écrit :
> Bonjour,
> Je ne vois pas ce qu'il y a de différent dans vos 2 réponses ?
>
> J'ai également besoin de voir apparaître le nom de la machine dand le
> résultat.
>
> Quoi qu'il en soit, j'ai tjs la même erreur :
> Column "computer_lists.value" is invalid in the ORDER BY clause because it
> is not contained in either an aggregate function or the GROUP BY clause.
>
> D'avance merci,
>
> "OlivierH" <"nospam[contact]" a écrit :
>
>
>> Oui tout à fait,
>> car cela ne sert à rien.
>>
>> olivier,
>>
>>
>> TedIF a écrit :
>>
>>> OlivierH avait énoncé :
>>>
>>>> Tu fais comme ca :
>>>>
>>>>
>>>> select count(*)
>>>> from computer_lists cl
>>>> inner join computer c
>>>> on c.computer_id = cl.computer_id
>>>> where cl.list_type='Software'
>>>> order by cl.value
>>>>
>>>>
>>>> Olivier,
>>>>
>>>> Fred a écrit :
>>>>
>>>>> Bonjour,
>>>>> J'ai essayé d'introduire un count dans ma requête mais j'obtiens
>>>>> chaque fois une erreur. J'ai essayé avec des group by.
>>>>> J'aimerais savoir combien de machines ont le software installé
>>>>> (count(value))...
>>>>> Qqun pourrait m'éclairer ? Voici le query en question :
>>>>>
>>>>> select c.computer_name, cl.value
>>>>> from computer_lists cl
>>>>> inner join computer c
>>>>> on c.computer_id = cl.computer_id
>>>>> where cl.list_type='Software'
>>>>> order by cl.value
>>>>>
>>>>> Merci d'avance !
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>> en supprimant l'order by bien sûr
>>>
>>>
Bonjour,
Il faut que tu enleves le order by,
select c.computer_name, count(*) as NbOrdi
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
Group By computer_name
olivier
Fred a écrit :
> Bonjour,
> Je ne vois pas ce qu'il y a de différent dans vos 2 réponses ?
>
> J'ai également besoin de voir apparaître le nom de la machine dand le
> résultat.
>
> Quoi qu'il en soit, j'ai tjs la même erreur :
> Column "computer_lists.value" is invalid in the ORDER BY clause because it
> is not contained in either an aggregate function or the GROUP BY clause.
>
> D'avance merci,
>
> "OlivierH" <"nospam[contact]" a écrit :
>
>
>> Oui tout à fait,
>> car cela ne sert à rien.
>>
>> olivier,
>>
>>
>> TedIF a écrit :
>>
>>> OlivierH avait énoncé :
>>>
>>>> Tu fais comme ca :
>>>>
>>>>
>>>> select count(*)
>>>> from computer_lists cl
>>>> inner join computer c
>>>> on c.computer_id = cl.computer_id
>>>> where cl.list_type='Software'
>>>> order by cl.value
>>>>
>>>>
>>>> Olivier,
>>>>
>>>> Fred a écrit :
>>>>
>>>>> Bonjour,
>>>>> J'ai essayé d'introduire un count dans ma requête mais j'obtiens
>>>>> chaque fois une erreur. J'ai essayé avec des group by.
>>>>> J'aimerais savoir combien de machines ont le software installé
>>>>> (count(value))...
>>>>> Qqun pourrait m'éclairer ? Voici le query en question :
>>>>>
>>>>> select c.computer_name, cl.value
>>>>> from computer_lists cl
>>>>> inner join computer c
>>>>> on c.computer_id = cl.computer_id
>>>>> where cl.list_type='Software'
>>>>> order by cl.value
>>>>>
>>>>> Merci d'avance !
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>> en supprimant l'order by bien sûr
>>>
>>>
Bonjour,
Il faut que tu enleves le order by,
select c.computer_name, count(*) as NbOrdi
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
Group By computer_name
olivier
Fred a écrit :
> Bonjour,
> Je ne vois pas ce qu'il y a de différent dans vos 2 réponses ?
>
> J'ai également besoin de voir apparaître le nom de la machine dand le
> résultat.
>
> Quoi qu'il en soit, j'ai tjs la même erreur :
> Column "computer_lists.value" is invalid in the ORDER BY clause because it
> is not contained in either an aggregate function or the GROUP BY clause.
>
> D'avance merci,
>
> "OlivierH" <"nospam[contact]" a écrit :
>
>
>> Oui tout à fait,
>> car cela ne sert à rien.
>>
>> olivier,
>>
>>
>> TedIF a écrit :
>>
>>> OlivierH avait énoncé :
>>>
>>>> Tu fais comme ca :
>>>>
>>>>
>>>> select count(*)
>>>> from computer_lists cl
>>>> inner join computer c
>>>> on c.computer_id = cl.computer_id
>>>> where cl.list_type='Software'
>>>> order by cl.value
>>>>
>>>>
>>>> Olivier,
>>>>
>>>> Fred a écrit :
>>>>
>>>>> Bonjour,
>>>>> J'ai essayé d'introduire un count dans ma requête mais j'obtiens
>>>>> chaque fois une erreur. J'ai essayé avec des group by.
>>>>> J'aimerais savoir combien de machines ont le software installé
>>>>> (count(value))...
>>>>> Qqun pourrait m'éclairer ? Voici le query en question :
>>>>>
>>>>> select c.computer_name, cl.value
>>>>> from computer_lists cl
>>>>> inner join computer c
>>>>> on c.computer_id = cl.computer_id
>>>>> where cl.list_type='Software'
>>>>> order by cl.value
>>>>>
>>>>> Merci d'avance !
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>> en supprimant l'order by bien sûr
>>>
>>>
Ben non on y est toujours pas ... ds ce cas, la requête retourne le nom de
la
machine et aussi un nombre qui atteint plusieurs centaines ...
Ce que je souhaite c'est qu'on groupe par software (cl.value) et qu'on me
donne le nom des machines sur lesquelles le soft est installé et aussi le
nombre de machines sur lesquelles il est installé.
Ben non on y est toujours pas ... ds ce cas, la requête retourne le nom de
la
machine et aussi un nombre qui atteint plusieurs centaines ...
Ce que je souhaite c'est qu'on groupe par software (cl.value) et qu'on me
donne le nom des machines sur lesquelles le soft est installé et aussi le
nombre de machines sur lesquelles il est installé.
Ben non on y est toujours pas ... ds ce cas, la requête retourne le nom de
la
machine et aussi un nombre qui atteint plusieurs centaines ...
Ce que je souhaite c'est qu'on groupe par software (cl.value) et qu'on me
donne le nom des machines sur lesquelles le soft est installé et aussi le
nombre de machines sur lesquelles il est installé.
Bonjour,
> Ben non on y est toujours pas ... ds ce cas, la requête retourne le nom de
> la
> machine et aussi un nombre qui atteint plusieurs centaines ...
Cela semble suspect. Elle doit retourner le nombre de soft par machine
(plusieurs centaines de soft par machine ???). La requête me semble
correcte. Vérifier par exemple si les données ne contiendrait pas *tous* les
inventaires réalisés (on aurait plusieurs fois un même couple computer_name,
value pour toutes les dates auxquelles ce logiciel a été identifié sur cet
ordinateur ???)
> Ce que je souhaite c'est qu'on groupe par software (cl.value) et qu'on me
> donne le nom des machines sur lesquelles le soft est installé et aussi le
> nombre de machines sur lesquelles il est installé.
Cela donnerait donc par exemple (le plus simple je pense) :
select c.computer_name, cl.value,
-- Compter le nombre de machines ayant ce soft
(select count(distinct computer_name) from computer_lists where
value=cl.Value)
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
and c.company = 1
Une autre solution serait de faire les deux requêtes séparemment et de les
relier au final par un "join"...
A noter que :
- on ne regroupe pas par soft (si on regroupe on n'a qu'une seule ligne par
soft et on ne peut avoir la liste des machines concernées)
- on génère donc ici une colonne qui aura nécessaire la même valeur sur
toutes les lignes ayant la même value. Ce n'est pas forcément très
interessant de mettre dans la même requête des données qui correspondent à
des niveaux de détails différents. A voir selon l'usage...
- donc attention aux données qui sont peut-être un peu plus élaborées
(plusieurs couples identiques à des dates différentes ?)
--
Patrice
Bonjour,
> Ben non on y est toujours pas ... ds ce cas, la requête retourne le nom de
> la
> machine et aussi un nombre qui atteint plusieurs centaines ...
Cela semble suspect. Elle doit retourner le nombre de soft par machine
(plusieurs centaines de soft par machine ???). La requête me semble
correcte. Vérifier par exemple si les données ne contiendrait pas *tous* les
inventaires réalisés (on aurait plusieurs fois un même couple computer_name,
value pour toutes les dates auxquelles ce logiciel a été identifié sur cet
ordinateur ???)
> Ce que je souhaite c'est qu'on groupe par software (cl.value) et qu'on me
> donne le nom des machines sur lesquelles le soft est installé et aussi le
> nombre de machines sur lesquelles il est installé.
Cela donnerait donc par exemple (le plus simple je pense) :
select c.computer_name, cl.value,
-- Compter le nombre de machines ayant ce soft
(select count(distinct computer_name) from computer_lists where
value=cl.Value)
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
and c.company = 1
Une autre solution serait de faire les deux requêtes séparemment et de les
relier au final par un "join"...
A noter que :
- on ne regroupe pas par soft (si on regroupe on n'a qu'une seule ligne par
soft et on ne peut avoir la liste des machines concernées)
- on génère donc ici une colonne qui aura nécessaire la même valeur sur
toutes les lignes ayant la même value. Ce n'est pas forcément très
interessant de mettre dans la même requête des données qui correspondent à
des niveaux de détails différents. A voir selon l'usage...
- donc attention aux données qui sont peut-être un peu plus élaborées
(plusieurs couples identiques à des dates différentes ?)
--
Patrice
Bonjour,
> Ben non on y est toujours pas ... ds ce cas, la requête retourne le nom de
> la
> machine et aussi un nombre qui atteint plusieurs centaines ...
Cela semble suspect. Elle doit retourner le nombre de soft par machine
(plusieurs centaines de soft par machine ???). La requête me semble
correcte. Vérifier par exemple si les données ne contiendrait pas *tous* les
inventaires réalisés (on aurait plusieurs fois un même couple computer_name,
value pour toutes les dates auxquelles ce logiciel a été identifié sur cet
ordinateur ???)
> Ce que je souhaite c'est qu'on groupe par software (cl.value) et qu'on me
> donne le nom des machines sur lesquelles le soft est installé et aussi le
> nombre de machines sur lesquelles il est installé.
Cela donnerait donc par exemple (le plus simple je pense) :
select c.computer_name, cl.value,
-- Compter le nombre de machines ayant ce soft
(select count(distinct computer_name) from computer_lists where
value=cl.Value)
from computer_lists cl
inner join computer c
on c.computer_id = cl.computer_id
where cl.list_type='Software'
and c.company = 1
Une autre solution serait de faire les deux requêtes séparemment et de les
relier au final par un "join"...
A noter que :
- on ne regroupe pas par soft (si on regroupe on n'a qu'une seule ligne par
soft et on ne peut avoir la liste des machines concernées)
- on génère donc ici une colonne qui aura nécessaire la même valeur sur
toutes les lignes ayant la même value. Ce n'est pas forcément très
interessant de mettre dans la même requête des données qui correspondent à
des niveaux de détails différents. A voir selon l'usage...
- donc attention aux données qui sont peut-être un peu plus élaborées
(plusieurs couples identiques à des dates différentes ?)
--
Patrice