테이블의 num 열에서 특정 num 값의 총 수를 계산하는 SQL 쿼리를 작성하는 방법은 무엇입니까?
예 : num = 1 인 경우 선택
결과 : 2
+-----+-----+
| NAME | NUM |
+=====+=====+
| SAM | 1 |
+-----+-----+
| BOB | 1 |
+-----+-----+
| JAKE | 2 |
+-----+-----+
| JOHN | 4 |
+-----+-----+
테이블의 num 열에서 특정 num 값의 총 수를 계산하는 SQL 쿼리를 작성하는 방법은 무엇입니까?
예 : num = 1 인 경우 선택
결과 : 2
+-----+-----+
| NAME | NUM |
+=====+=====+
| SAM | 1 |
+-----+-----+
| BOB | 1 |
+-----+-----+
| JAKE | 2 |
+-----+-----+
| JOHN | 4 |
+-----+-----+
답변:
SELECT
COUNT(NUM) as 'result'
FROM
Table1
GROUP BY
NUM
HAVING NUM = 1
having num = 1는와 동일 where num = 하므로 잘못된 것이 아니며 "말도 안되는"것도 아닙니다. 이런 식으로하는 것이 더 전통적인 방식이 아니라 상쾌하게 다른 것이라고 생각했습니다 where. 동등성은 첫눈에 분명하지 않으므로 직접 시도해 보는 것이 좋습니다.
where왜 사용 having합니까?
having그룹 수준 기준입니다. where행 수준 기준입니다. 일반적으로 교환 할 수 없습니다. 그러나이 특수한 경계의 경우 서로 교환 될 수 있습니다. 따라서 출력은 동일합니다. 그러나 철학적으로 NUM는 group by가 NUM자체적 으로 수행되기 때문에 그룹 수준의 기준 이라고 생각 합니다. 따라서 having대신 where. 당신은 아마도 다른 관심사에 찬성하는 내 추상적 인 관심사에 감사하지 않을 것입니다.
이 쿼리 시도
select NUM, count(1) as count
from tbl
where num = 1
group by NUM
--having count(1) (You condition)
SELECT sum(num) WHERE num = 1;
1.OP가 원한다면 어떨까요 where num=2. 2이 쿼리 외에거야 수익입니다 error그것은을 지정하지 않는 한, tablename.
SELECT SUM(IF(your_column=3,1,0)) FROM your_table WHERE your_where_contion='something';
예를 들어 쿼리 :-
SELECT SUM(IF(num=1,1,0)) FROM your_table_name;