46 votes

Sous-requête SQL avec l'aide de COUNT

J'ai une instruction SQL qui fonctionne

 SELECT * FROM eventsTable WHERE columnName='Business'

Je veux ajouter ceci en tant que sous-requête...

 COUNT(Business) AS row_count

Comment puis-je faire cela?

74voto

Barry Points 18913

C'est probablement le moyen le plus simple, pas le plus joli cependant :

 SELECT *,
    (SELECT Count(*) FROM eventsTable WHERE columnName = 'Business') as RowCount
    FROM eventsTable
    WHERE columnName = 'Business'

Cela fonctionnera également sans avoir à utiliser un group by

 SELECT *, COUNT(*) OVER () as RowCount
    FROM eventsTables
    WHERE columnName = 'Business'

16voto

rugg Points 61
SELECT e.*,
       cnt.colCount 
FROM eventsTable e
INNER JOIN (
           select columnName,count(columnName) as colCount
           from eventsTable e2 
          group by columnName
           ) as cnt on cnt.columnName = e.columnName
WHERE e.columnName='Business'

-- Ajout d'espace

10voto

eumiro Points 56644

Voulez-vous obtenir le nombre de lignes ?

 SELECT columnName, COUNT(*) AS row_count
FROM eventsTable
WHERE columnName = 'Business'
GROUP BY columnName

1voto

Noel Abrahams Points 3678

En supposant qu'il existe une colonne nommée entreprise :

SELECT Business, COUNT(*) FROM eventsTable GROUP BY Business

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X