2017-03-07 5 views
0

Ich möchte die Spalte ausblenden, die ich zähle. Es sieht wie folgt aus:SQL - Spalte ausblenden, die ich zähle?

SELECT name, room, COUNT(seats) AS seats... 

Ich möchte nur name und room zeigen, wenn obwohl der Ausführung. Ist es möglich, das zu tun?

+0

Warum Sie die Sitze zählen nicht, wenn man sie nicht zeigen? Wenn Sie es verwenden möchten, z. in 'ORDER BY' müssen Sie sie nicht in die Select-Liste setzen:' ORDER BY COUNT (Plätze) DESC' – dnoeth

+0

Warum also an erster Stelle? – BenM

+1

Möchten Sie Sitze verstecken? Oder die Anzahl der Sitze? Wenn das erste, wird es automatisch ausgeblendet, weil Sie nur nach Name und Raum gruppieren werden. –

Antwort

1

Statt Verwendung aggregiert Funktion COUNT() können Sie:

SELECT DISTINCT name, room 

Nachdem Sie Ihren Kommentar lesen, den Raum mit mehr Sitze wählen:

SELECT name, room 
FROM yourTable 
GROUP BY name, room 
ORDER BY COUNT(seats) DESC 
LIMIT 1 -- This is postgres/mysql, sql server use TOP 
+0

Überprüfen Sie das Update –

0

Sie die Zählung in einer Unterabfrage:

select name, room from (
select name, room, count(seats) as seats 
from ...) 
-1

Müssen Sie die Anzahl der Zimmer irgendwo verwenden? Vielleicht möchten Sie es in eine WAS-Aussage aufnehmen?

SELECT name, room 
FROM TableName 
GROUP BY seats,name,room 
HAVING COUNT(seats) > 1; 

EDIT:

select top 1 name, room 
group by seats,name,room 
order by count(seats) desc 
+0

verwenden Sie 'control-k' oder fügen Sie 4 Leerzeichen zum Formatieren als Code hinzu. –

+0

danke @JuanCarlosOropeza – Zoop

+0

Sie können 'name' und' room' nicht auswählen, da sie nicht in der 'GROUP BY' sind – dstepan

Verwandte Themen