Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2135 connectés 

 


Dernière réponse
Sujet : sql
DuffBeer Question : Comment savoir que Kenza a ouvert le frigo ?
Réponse : Il ya des traces de rouge à lévres sur le concombre !!!
Humour (bis) !!! :D    
(désolé pour le hors sujet :crazy: )

 

[edit]--Message édité par DuffBeer--[/edit]


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
DuffBeer Question : Comment savoir que Kenza a ouvert le frigo ?
Réponse : Il ya des traces de rouge à lévres sur le concombre !!!
Humour (bis) !!! :D    
(désolé pour le hors sujet :crazy: )

 

[edit]--Message édité par DuffBeer--[/edit]

DuffBeer Question : Que dit Loana après un orgasme ?
Réponse : Au suivant !!!
Humour !!! :D

 

[edit]--Message édité par DuffBeer--[/edit]

DuffBeer En SQL, la vitesse de la requête est parfois plus importante que les conventions à appliquer (un peu comme JE avec Loana dans le loft). :o  
Dans ces conditions, je pense que ma réponse est assez satisfaisante. :jap:  :hello:

 

[edit]--Message édité par DuffBeer--[/edit]

Fred999 Haut de mon énorme expérience (au bas mot... 3 ans :lol:), je peux affirmer que le SQL nécessite parfois, comme d'autres langages, d'avoir un petit côté vaudou.
 
Dans mon bureau, on a un poulailler (oui, comme dans le loft) pour les cas extrêmes.
shinji A mon avis, tu "maîtrise" plus que moi!
Je suis en 2ème année de DUT alors pour ce que j'en ai de la pratique! Comparer à toi, ça doit pas peser grand chose!
Cependant si ça te fait plaisir de ne pas être conventionnel, alors je le répète tu n'es pas conventionnelle!
Moi en ce moement, je tatonne comme tu dit mais en php!
@+
:)
BENB

shinji a écrit a écrit :

Pleure pas, c'était juste à titre d'info c'est tout!
Je ne suis pas un dieu du sql, tu en connais sûrement plus que moi même si j'ai eu un prof!
Comme dit Fred c'est le dilemne théorie-pratique!




non, non tu ne me trouves pas conventionnelle, ne cherches pas a te racheter...
De toute facon, le SQL je le subit plus que je ne le maitrise...
je tatonne, et si ca marche OK sinon ...

shinji Pleure pas, c'était juste à titre d'info c'est tout!
Je ne suis pas un dieu du sql, tu en connais sûrement plus que moi même si j'ai eu un prof!
Comme dit Fred c'est le dilemne théorie-pratique!
BENB

DuffBeer a écrit a écrit :

>BENB : tu n'étais pas très loin
En effet, sous DB2 la requete est :
SELECT COUNT(*) FROM (SELECT DISTINCT x,y FROM table) AS temp
 
Voilà, alors heureux ?  :bounce:




Merci...
Mais il parait que je ne suis pas conventionnelle :sweat:

cris_2_1000 ouahhh ca marche
merci!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
DuffBeer >BENB : tu n'étais pas très loin
En effet, sous DB2 la requete est :
SELECT COUNT(*) FROM (SELECT DISTINCT x,y FROM table) AS temp
 
Voilà, alors heureux ?  :bounce:
BENB

shinji a écrit a écrit :

BEN>
Ca marche mais c'est pas conventionnel!
C'est contradictoire avec la théorie, je veut dire par là que c'est pas conforme.
Mais bon, c'est juste pour info, je prétends rien!
un select ... from (select...) tu verra jamais ça dans les bouquins et un prof t'égorge direct.
Même si j'ai déjà fait des requètes comme ça, c'est tentant mais je me suis fait rappeler à l'ordre.
Il y a toujours un moyen de faire autrement!




j'ai jamais eu de prof de SQL :D
je coyais que les view etait faites pour eviter les SELECT ... FROM(SELECT...), preuve que donc on peut en faire :D
 
Je ne suis pas une pro du SQL c'est vrai...

Fred999 shinji > j'avais pensé à une solution de ce genre, mais je ne connais pas assez bien la syntaxe de ce genre de trucs.
 
Et ressurgit alors l'éternel débat entre théorie et efficacité...
shinji BEN>
Ca marche mais c'est pas conventionnel!
C'est contradictoire avec la théorie, je veut dire par là que c'est pas conforme.
Mais bon, c'est juste pour info, je prétends rien!
un select ... from (select...) tu verra jamais ça dans les bouquins et un prof t'égorge direct.
Même si j'ai déjà fait des requètes comme ça, c'est tentant mais je me suis fait rappeler à l'ordre.
Il y a toujours un moyen de faire autrement!
Fred999

Code :
  1. select  count (distinct convert(varchar(10), x) + convert(varchar(10), y))
  2. from table


 
Marche sous Sybase.
 
Bon, c'est tordu ; il faut que tu convertisses en un varchar assez grand pour le type de données.

BENB

cris_2_1000 a écrit a écrit :

>benb
 
ca marche pas; j'ai essaye
et je me demande si ca n'est pas propre a DB2....




malheureusement sous Oracle ca marche...

cris_2_1000 >benb
 
ca marche pas; j'ai essaye
et je me demande si ca n'est pas propre a DB2....
BENB

cris_2_1000 a écrit a écrit :

la soluce:
select distinct x,y from table
le systeme me donne le nombre de lignes retournées
mais bon, j'aurai bien aimé le faire avec une requete




 
et SELECT count(*) FROM ( SELECT distinct x,y FROM table) ?

Fred999 OK j'arrive, je vais te trouver ça, j'ai la soluce en tête :)
Une clope et ça repart.
cris_2_1000 la soluce:
select distinct x,y from table
le systeme me donne le nombre de lignes retournées
mais bon, j'aurai bien aimé le faire avec une requete
shinji Donne ta solution alors une fois que tu auras trouvé un moyen.
cris_2_1000 la deuxieme requete ne donne pas le nombre de doublons:
si ta table n'a qu'une ligne ta requete te donnera '1'
j'ai trouve un moyen en utilisant les parametres db2
meci a tous pour votre aide
shinji Voilà une idée, sinon je vois pas :
 
Tu fait un cout(*) from table; pour avoir le nombre de couple x,y y compris les doublons : select count(*) from table;
Ensuite tu retranche le nombre de doublons!
Pour connaître le nombre de doublons, tu fais une jointure de la table sur elle même:  
select count(*) from table A, table B
where A.x=B.x and A.y=B.y;
 
Et voilà:
(select count(*) from table;)
-
(select count(*)from table A,table B where A.x=B.x and A.y=B.y ;)
 
 
Dis moi si  ça marche mais normalement oui
cris_2_1000 en fait ma table na pas que 2 champs:
exemple la table suivante:
 
 X  Y  Z
 
 1  2  3
 1  2  4
 2  3  5
 
je veux connaitre le nombre d'occurences de valeurs distinctes des colonnes x et y:
ici '2'  : x=1 y= 2 et x=2 y=3
 
desole si je ne suis pas clair.....
shinji Sinon précise mieux ta question!
shinji Si ces 2 champs appartiennent à la même table, il y a le même nombre de valeurs pour les 2 donc tu compte soit l'un soit l'autre. Si des fois ils sont null tu les exclus de la requète:
 
select count(x) where x!=null and y!=null;
cris_2_1000 je me suis mal exprime:
je veux compter toutes les valeurs du 'couple xy
alors?
cris_2_1000 je me suis mal exprime:
je veux compter toutes les valeurs du 'couple xy
alors?
Fred999 select count (distinct x), count (distinct y) from table
 
 
Curieusement, ça marche :o
cris_2_1000 soit une table avec 2 champs x et y:
je cherche a compter le nombre d'occurences de valeurs distinctes de x et y  
en gros, si c'etait possible:
'select count(distinct x, y) from table'
 
merci pour votre aide!!!!

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)