我想做一个选择查询来搜索最小和最大年龄之间的人。这就是搜索值来自我的搜索表单的方式。
Array
(
[iam] => Man
[seeking] => Woman
[age_min] => 18
[age_max] => 19
[country_id] => 25
)
我已将这些值存储在两个 mysql 表中。一个是user
,另一个是Countries
。我的问题是用户表中没有一列来存储用户的年龄。年龄是根据用户出生日期计算的,用户表有一列存储用户出生日期。
我的users
桌子是这样的:
CREATE TABLE IF NOT EXISTS users (
user_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
country_id SMALLINT UNSIGNED NOT NULL,
username VARCHAR(20) NOT NULL,
email varchar(40) NOT NULL,
first_name VARCHAR(30) DEFAULT NULL,
sex ENUM('Male', 'Female') DEFAULT 'Male',
dob VARCHAR(10) NOT NULL,
address VARCHAR(40) DEFAULT NULL,
city VARCHAR(25) NOT NULL,
last_login TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
date_registered TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (user_id),
UNIQUE (email),
UNIQUE (username)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
在国家表中,它有country_id
和country_name
。
所以。我能知道有没有办法使用 MySqlSELECT
查询来做到这一点。希望有人可以帮助我。谢谢你。