답변 2개
채택된 답변
+20 포인트
4년 전
테이블은 table이라고 하겠습니다.
</p>
<p><?php</p>
<p>$row = sql_fetch("select (select count(car_number1) from table where car_number1 <> '') + </p>
<p> (select count(car_number1) from table where car_number2 <> '') as carcount");</p>
<p>echo $row['carcount'];</p>
<p> </p>
<p>
위의 조건절에 Record마다 조건을 붙이면 각 Row별로 컬럼의 값을 존재하는것들만 추출가능하고
위의 쿼리는 car_number1 과 car_number2 의 각 값이 존재하는 row수만큼 서로 카운트후 더하는 내용입니다.
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
4년 전
</p>
<p>DROP TABLE IF EXISTS `zoo4`;
CREATE TABLE IF NOT EXISTS `zoo4` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`car_number1` varchar(255) NOT NULL DEFAULT '',
`car_number2` varchar(255) NOT NULL DEFAULT '',
`car_number3` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;</p>
<p>INSERT INTO `zoo4` VALUES(1, 'a', 'a', '');
INSERT INTO `zoo4` VALUES(2, 'a', '', 'a');
INSERT INTO `zoo4` VALUES(3, '', '', '');
INSERT INTO `zoo4` VALUES(4, '', 'a', 'a');
INSERT INTO `zoo4` VALUES(5, 'a', 'a', 'a');
INSERT INTO `zoo4` VALUES(6, 'a', '', '');
INSERT INTO `zoo4` VALUES(7, 'a', '', 'a');</p>
<p>
</p>
<p>SELECT
`id`,
SUM(IF(`car_number1`!='', 1, 0) + IF(`car_number2`!='', 1, 0) + IF(`car_number3`!='', 1, 0)) AS `count`
FROM `zoo4`
WHERE 1
GROUP BY `id`</p>
<p>
</p>
<p>id count
1 2
2 2
3 0
4 2
5 3
6 1
7 2
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인