10대 20대 검색 하려면 어떻게 하면 좋을까요?? 채택완료
$sex = ($sex) ? $sex : "F";
$sql_mb="select * from $g5[member_table] where mb_open='1' and mb_sex ='$sex' and mb_2='1' order by rand() limit 16";
현재 쿼리문에서요
mb_birth 문을 10대 검색 ~50대이상 검색으로 쿼리를 짤려면 어떻게 하면 좋을까요??
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
4년 전
먼저, 만 나이 계산 쿼리
SELECT YEAR(MAKEDATE(0,DATEDIFF(CURDATE(), '1980-02-12')))-2000;
// 41
SELECT YEAR(MAKEDATE(0,DATEDIFF(CURDATE(), '1994-12-25')))-2000;
// 26
연령대를 구하는 쿼리 (만 나이에서 10으로 나눈 후 10을 곱하기)
SELECT FLOOR((YEAR(MAKEDATE(0,DATEDIFF(CURDATE(), '1980-02-12')))-2000)/10)*10;
// 40
SELECT FLOOR((YEAR(MAKEDATE(0,DATEDIFF(CURDATE(), '1994-12-25')))-2000)/10)*10;
// 20
DROP TABLE IF EXISTS `zoo6`;
CREATE TABLE IF NOT EXISTS `zoo6` (
`mb_no` int(11) NOT NULL AUTO_INCREMENT,
`mb_id` varchar(20) NOT NULL DEFAULT '',
`mb_birth` varchar(20) NOT NULL DEFAULT '',
PRIMARY KEY (`mb_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;</p>
<p>INSERT INTO `zoo6` VALUES(1, 'test1', '19800526');
INSERT INTO `zoo6` VALUES(2, 'test2', '19941225');
INSERT INTO `zoo6` VALUES(3, 'test3', '20030613');
INSERT INTO `zoo6` VALUES(4, 'test4', '20050815');
INSERT INTO `zoo6` VALUES(5, 'test5', '19660412');
INSERT INTO `zoo6` VALUES(6, 'test6', '19550904');
INSERT INTO `zoo6` VALUES(7, 'test7', '20150501');
INSERT INTO `zoo6` VALUES(8, 'test8', '19760914');
INSERT INTO `zoo6` VALUES(9, 'test9', '19881111');
SELECT mb_id, FLOOR((YEAR(MAKEDATE(0,DATEDIFF(CURDATE(), DATE_FORMAT(mb_birth,'%Y-%m-%d'))))-2000)/10)*10 AS `mb_age` FROM `zoo6`;
mb_id mb_age
test1 40
test2 20
test3 10
test4 10
test5 50
test6 60
test7 0
test8 40
test9 30
20대
SELECT * FROM `zoo6` WHERE FLOOR((YEAR(MAKEDATE(0,DATEDIFF(CURDATE(), DATE_FORMAT(mb_birth,'%Y-%m-%d'))))-2000)/10)*10 = 20;
mb_no mb_id mb_birth
2 test2 19941225
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
채택
답변대기
답변대기
답변대기
답변대기
채택
채택
답변대기
답변대기
답변대기
채택