Problema con el count
Publicado por carlos (1 intervención) el 23/04/2018 23:12:31
Hola, tengo un examen dentro de un mes de bases de datos, y estoy algo confundido con el group by y el count.
Tengo esta select:
4-Nombre de los recintos y número de asientos del patio de butacas siempre que tengan más de 50 asientos en dicha zona
select count(*), r.recinto from zona z, asiento asi, recinto r where asi.codigozona=z.codigo and z.codigorecinto=r.codigo and Z.zona like 'BUTACA' group by r.recinto having count(*) >50
¿Por que, esta correcta? El resultado, devuelve el nombre y el numero de asientos. Lo que me confunde, es que pone el count (*) y sin decirle que cuente los asientos, los cuenta. El nombre del recinto claro, pero la cuenta de los asientos, y tengo alguna sql mas igual que esta, y no lo comprendo, y me quita el sueño de verdad, es la 2º vez que voy a esta asignatura.
Dejo la definicion de las tablas.
Tengo esta select:
4-Nombre de los recintos y número de asientos del patio de butacas siempre que tengan más de 50 asientos en dicha zona
select count(*), r.recinto from zona z, asiento asi, recinto r where asi.codigozona=z.codigo and z.codigorecinto=r.codigo and Z.zona like 'BUTACA' group by r.recinto having count(*) >50
¿Por que, esta correcta? El resultado, devuelve el nombre y el numero de asientos. Lo que me confunde, es que pone el count (*) y sin decirle que cuente los asientos, los cuenta. El nombre del recinto claro, pero la cuenta de los asientos, y tengo alguna sql mas igual que esta, y no lo comprendo, y me quita el sueño de verdad, es la 2º vez que voy a esta asignatura.
Dejo la definicion de las tablas.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
create table tipo (
codigo char(4) primary key,
descripcion varchar2(25)
);
create table recinto(
codigo char(4) primary key,
recinto varchar2(25) not null unique
);
create table espectaculo(
codigo number(4) primary key,
titulo varchar2(25) not null,
fecha_final date,
codigotipo char(4),
codigorecinto char(4)
);
create table interprete (
codigo char(4) primary key,
nombre_artistico varchar2(45) not null
);
create table representacion (
codigo number(4) primary key,
fecha date not null,
hora char(5) not null,
codigoEspectaculo number(4)
);
create table actua(
codigointerprete char(4),
codigoespectaculo number(4),
primary key (codigointerprete,codigoespectaculo)
);
create table zona(
codigo number(4) primary key,
zona varchar2(25),
precio number(7,2),
codigorecinto char(4)
);
create table asiento (
fila number(2),
numero number(2),
codigozona number(4),
primary key (fila,numero,codigozona)
);
Valora esta pregunta
0