RDBMS 在此处输入图像描述
我正在尝试收集此问题所需的信息,我已经计算了客户年龄,这是此表的数据
CREATE TABLE `clientes` (
`id_cliente` int(11) NOT NULL,
`nombre` varchar(45) COLLATE utf8_bin NOT NULL,
`apellidos` varchar(45) COLLATE utf8_bin NOT NULL,
`dni_pasaporte` text COLLATE utf8_bin NOT NULL,
`telefono` mediumtext COLLATE utf8_bin DEFAULT NULL,
`sexo` mediumtext COLLATE utf8_bin NOT NULL,
`fecha_nacimiento` date NOT NULL,
`pais_nacimiento` varchar(45) COLLATE utf8_bin DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
--
-- Dumping data for table `clientes`
--
INSERT INTO `clientes` (`id_cliente`, `nombre`, `apellidos`, `dni_pasaporte`, `telefono`, `sexo`, `fecha_nacimiento`, `pais_nacimiento`) VALUES
(1, 'Carlos', 'Montero Suarez', '16066793V', '723510602', 'H', '1980-02-14', 'Spain'),
(2, 'Allison', 'Lukianov', '3258879821', '395404877', 'femenino', '1970-12-06', 'China'),
(3, 'Rey', 'Roja', '8298779244', '352682209', 'H', '1965-05-19', 'Spain'),
(4, 'Elton', 'Saintsbury', '446046705', '969547852', 'H', '1987-08-23', 'Tunisia'),
(5, 'Bert', 'Leckey', '732411565', '625573861', 'H', '1990-09-27', 'China'),
(6, 'Carmine', 'Eicke', '300115949', '261559877', 'femenino', '1985-08-03', 'China'),
(7, 'Maria ', 'Sanchez Cardoso', '14180343D', '441952642', 'femenino', '1979-05-21', 'Spain'),
(9, 'John ', 'Lennon', '236147952', '630745219', 'H', '1970-11-14', 'Tunisia'),
(10, 'Karla', 'Watson', '523617420', '923541078', 'femenino', '1980-05-12', 'Tunisia');
ALTER TABLE `clientes`
ADD PRIMARY KEY (`id_cliente`),
ADD UNIQUE KEY `Id_cliente_unique` (`id_cliente`) USING BTREE;
ALTER TABLE `clientes`
MODIFY `id_cliente` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;
我需要计算此表上所有 10 个用户之间的平均年龄,即 38.2。我需要所有超过这个年龄的西班牙用户,你能告诉我如何获取这些信息吗?
我已经尝试了以下条目,我刚刚了解了所有客户的年龄
SELECT *,
YEAR(CURDATE()) - YEAR(fecha_nacimiento) - (RIGHT(CURDATE(), 5) < RIGHT(fecha_nacimiento, 5)) Age
from clientes
我想知道如何根据当天和出生日期计算所有 10 个客户的平均值。
SELECT *,
YEAR(CURDATE()) - YEAR(fecha_nacimiento) - (RIGHT(CURDATE(), 5) < RIGHT(fecha_nacimiento, 5)) Age
(select avg(all(year(now()) - year(fecha_nacimiento)))) as Average
from clientes
但这只显示一个客户,我怎样才能得到另外两个?