0
votes

Nombre de comptes SQL d'enregistrements où la valeur reste constante

J'ai besoin de trouver le nombre de tracker_id code> où position code> reste 1 code> via la table.

tracker_id | position 
---------------------
 5         |     1
 11        |     1
 4         |     1
 4         |     2
 5         |     2
 4         |     1
 4         |     1
 11        |     1
 14        |     1
 9         |     2


2 commentaires

Est-ce que la position doit être 1 ou peut-il rester une valeur, tant qu'il est la même valeur?


@ digital.aaron Il doit être 1


5 Réponses :


2
votes

Vous pouvez utiliser non pas existant xxx

sortie: 2


0 commentaires

1
votes

Si Position ne peut être que 1 , vous pouvez utiliser ceci, qui obtient tout le tracker_ids avec seulement une seule position la valeur , et Limite ensuite à ces enregistrements où position = 1 : xxx


1 commentaires

Ici, je peux même changer la valeur de la valeur . Belle solution. Merci



2
votes
declare @table1 as table (tracker_id int,postion int)

insert into @table1 values (5,1)
insert into @table1 values (11,1)
insert into @table1 values (4,1)
insert into @table1 values (4,2)
insert into @table1 values (5,2)
insert into @table1 values (4,1)
insert into @table1 values (4,1)
insert into @table1 values (11,1)
insert into @table1 values (14,1)
insert into @table1 values (9,2)

select count(tracker_id),tracker_id,postion from @table1 group by tracker_id,postion

0 commentaires

2
votes

Utilisation de sous-requête non corrélée xxx

à l'aide de la fonction de la fenêtre xxx

ceci L'un est juste pour les giggles xxx

et si vous voulez vraiment vous amuser xxx


0 commentaires

2
votes

Vous pouvez également faire:

select ( count(distinct tracker_id) - 
         count(distinct tracker_id) filter (where position <> 1)
       ) as num_all_1s
from t;


0 commentaires