OVH Cloud OVH Cloud

compteur stout simplement !

5 réponses
Avatar
Christophe
voila une table
j'aimerais calculer un compteur simplement en sql 2000
j'aimerais que suivant certaine valeur de C1 T1 soit incrémenté

C1 T1
1 1
1 2
1 3
1 4

2 1
2 2
2 3

3 1
3 2
3 3

2 4
2 5

1 5
1 6


comment faire ?

5 réponses

Avatar
Patrice
Sur une table existante ou au fur et à mesure des insertions ?

Sur une table existante, cela revient à compter le nombre d'enregistrements
qui ont la même clé et qui sont avant.
Manque le critère permettant de dire pourquoi on attribue le numéro 1 à tel
C1=1 plutôt qu'à tel autre.

Au final cela donnerait par exemple quelque chose comme :

UPDATE T SET T1=(SELECT COUNT(*) FROM MaTable WHERE C1=T.C1 AND
AUTRE_CHAMP<=T1.AUTRE_CHAMP) FROM MaTable AS T

A moins que le problème soit justement qu'il manque un autre critère pour
pouvoir établir un ordre dans ces données ?
--
Patrice

"Christophe" a écrit dans le message de news:

voila une table
j'aimerais calculer un compteur simplement en sql 2000
j'aimerais que suivant certaine valeur de C1 T1 soit incrémenté

C1 T1
1 1
1 2
1 3
1 4

2 1
2 2
2 3

3 1
3 2
3 3

2 4
2 5

1 5
1 6


comment faire ?




Avatar
Christophe
j'ai rajouté une colone identity et hop le tour à été joué merci Patrice !

"Patrice" a écrit dans le message de
news:
Sur une table existante ou au fur et à mesure des insertions ?

Sur une table existante, cela revient à compter le nombre


d'enregistrements
qui ont la même clé et qui sont avant.
Manque le critère permettant de dire pourquoi on attribue le numéro 1 à


tel
C1=1 plutôt qu'à tel autre.

Au final cela donnerait par exemple quelque chose comme :

UPDATE T SET T1=(SELECT COUNT(*) FROM MaTable WHERE C1=T.C1 AND
AUTRE_CHAMP<=T1.AUTRE_CHAMP) FROM MaTable AS T

A moins que le problème soit justement qu'il manque un autre critère pour
pouvoir établir un ordre dans ces données ?
--
Patrice

"Christophe" a écrit dans le message de news:

> voila une table
> j'aimerais calculer un compteur simplement en sql 2000
> j'aimerais que suivant certaine valeur de C1 T1 soit incrémenté
>
> C1 T1
> 1 1
> 1 2
> 1 3
> 1 4
>
> 2 1
> 2 2
> 2 3
>
> 3 1
> 3 2
> 3 3
>
> 2 4
> 2 5
>
> 1 5
> 1 6
>
>
> comment faire ?
>
>




Avatar
Patrice
Dans ton message original, j'avais l'impression que tu voulais compter de 1
à n pour chaque valeur différente de C1...

--
Patrice

"Christophe" a écrit dans le message de news:

j'ai rajouté une colone identity et hop le tour à été joué merci Patrice !

"Patrice" a écrit dans le message de
news:
Sur une table existante ou au fur et à mesure des insertions ?

Sur une table existante, cela revient à compter le nombre


d'enregistrements
qui ont la même clé et qui sont avant.
Manque le critère permettant de dire pourquoi on attribue le numéro 1 à


tel
C1=1 plutôt qu'à tel autre.

Au final cela donnerait par exemple quelque chose comme :

UPDATE T SET T1=(SELECT COUNT(*) FROM MaTable WHERE C1=T.C1 AND
AUTRE_CHAMP<=T1.AUTRE_CHAMP) FROM MaTable AS T

A moins que le problème soit justement qu'il manque un autre critère pour
pouvoir établir un ordre dans ces données ?
--
Patrice

"Christophe" a écrit dans le message de
news:

> voila une table
> j'aimerais calculer un compteur simplement en sql 2000
> j'aimerais que suivant certaine valeur de C1 T1 soit incrémenté
>
> C1 T1
> 1 1
> 1 2
> 1 3
> 1 4
>
> 2 1
> 2 2
> 2 3
>
> 3 1
> 3 2
> 3 3
>
> 2 4
> 2 5
>
> 1 5
> 1 6
>
>
> comment faire ?
>
>








Avatar
Christophe
Oui mais c'est exactement ca mais j'avais rien pour le < alors j'ai rajouté
un compteur identity qui me sert a faire la compraison
et grace à lui je peux compter de 1 à n pour chaque valeur difference de c1
.

thx



"Patrice" a écrit dans le message de
news:e%
Dans ton message original, j'avais l'impression que tu voulais compter de


1
à n pour chaque valeur différente de C1...

--
Patrice

"Christophe" a écrit dans le message de news:

> j'ai rajouté une colone identity et hop le tour à été joué merci Patrice


!
>
> "Patrice" a écrit dans le message de
> news:
>> Sur une table existante ou au fur et à mesure des insertions ?
>>
>> Sur une table existante, cela revient à compter le nombre
> d'enregistrements
>> qui ont la même clé et qui sont avant.
>> Manque le critère permettant de dire pourquoi on attribue le numéro 1 à
> tel
>> C1=1 plutôt qu'à tel autre.
>>
>> Au final cela donnerait par exemple quelque chose comme :
>>
>> UPDATE T SET T1=(SELECT COUNT(*) FROM MaTable WHERE C1=T.C1 AND
>> AUTRE_CHAMP<=T1.AUTRE_CHAMP) FROM MaTable AS T
>>
>> A moins que le problème soit justement qu'il manque un autre critère


pour
>> pouvoir établir un ordre dans ces données ?
>> --
>> Patrice
>>
>> "Christophe" a écrit dans le message de
>> news:
>>
>> > voila une table
>> > j'aimerais calculer un compteur simplement en sql 2000
>> > j'aimerais que suivant certaine valeur de C1 T1 soit incrémenté
>> >
>> > C1 T1
>> > 1 1
>> > 1 2
>> > 1 3
>> > 1 4
>> >
>> > 2 1
>> > 2 2
>> > 2 3
>> >
>> > 3 1
>> > 3 2
>> > 3 3
>> >
>> > 2 4
>> > 2 5
>> >
>> > 1 5
>> > 1 6
>> >
>> >
>> > comment faire ?
>> >
>> >
>>
>>
>
>




Avatar
Patrice
Ah ok ! Je n'avais pas compris que cette colonne servait à établir un ordre
des lignes pour le comptage d'où ma perplexité maintenant évanouie...

--
Patrice

"Christophe" a écrit dans le message de news:

Oui mais c'est exactement ca mais j'avais rien pour le < alors j'ai
rajouté
un compteur identity qui me sert a faire la compraison
et grace à lui je peux compter de 1 à n pour chaque valeur difference de
c1
.

thx



"Patrice" a écrit dans le message de
news:e%
Dans ton message original, j'avais l'impression que tu voulais compter de


1
à n pour chaque valeur différente de C1...

--
Patrice

"Christophe" a écrit dans le message de
news:

> j'ai rajouté une colone identity et hop le tour à été joué merci
> Patrice


!
>
> "Patrice" a écrit dans le message de
> news:
>> Sur une table existante ou au fur et à mesure des insertions ?
>>
>> Sur une table existante, cela revient à compter le nombre
> d'enregistrements
>> qui ont la même clé et qui sont avant.
>> Manque le critère permettant de dire pourquoi on attribue le numéro 1
>> à
> tel
>> C1=1 plutôt qu'à tel autre.
>>
>> Au final cela donnerait par exemple quelque chose comme :
>>
>> UPDATE T SET T1=(SELECT COUNT(*) FROM MaTable WHERE C1=T.C1 AND
>> AUTRE_CHAMP<=T1.AUTRE_CHAMP) FROM MaTable AS T
>>
>> A moins que le problème soit justement qu'il manque un autre critère


pour
>> pouvoir établir un ordre dans ces données ?
>> --
>> Patrice
>>
>> "Christophe" a écrit dans le message de
>> news:
>>
>> > voila une table
>> > j'aimerais calculer un compteur simplement en sql 2000
>> > j'aimerais que suivant certaine valeur de C1 T1 soit incrémenté
>> >
>> > C1 T1
>> > 1 1
>> > 1 2
>> > 1 3
>> > 1 4
>> >
>> > 2 1
>> > 2 2
>> > 2 3
>> >
>> > 3 1
>> > 3 2
>> > 3 3
>> >
>> > 2 4
>> > 2 5
>> >
>> > 1 5
>> > 1 6
>> >
>> >
>> > comment faire ?
>> >
>> >
>>
>>
>
>