Non puoi restituire due (o più) colonne nella tua sottoquery per eseguire il confronto in WHERE A_ID IN (subquery)
clausola - quale colonna dovrebbe confrontare A_ID
a? La tua sottoquery deve restituire solo una colonna necessaria per il confronto con la colonna sull'altro lato di IN
. Quindi la query deve essere della forma:
SELECT * From ThisTable WHERE ThisColumn IN (SELECT ThatColumn FROM ThatTable)
Vuoi anche aggiungere l'ordinamento in modo da poter selezionare solo dalle righe in alto, ma non è necessario restituire COUNT come colonna per eseguire l'ordinamento; ordinamento nel ORDER
La clausola è indipendente dalle colonne restituite dalla query.
Prova qualcosa del genere:
select count(distinct dNum)
from myDB.dbo.AQ
where A_ID in
(SELECT DISTINCT TOP (0.1) PERCENT A_ID
FROM myDB.dbo.AQ
WHERE M > 1 and B = 0
GROUP BY A_ID
ORDER BY COUNT(DISTINCT dNum) DESC)