반응형
열 중 하나에 특정 값이 포함된 경우에만 MySQL SUM
열 중 하나에 특정 값이 있을 때만 행을 합하는 방법이 있습니까?다음 테이블이 있습니다.
| order_id | total | is_tip |
-----------------------------
| 1 | 12 | 1 |
| 1 | 3 | 0 |
| 2 | 28 | 0 |
| 2 | 15 | 0 |
| 3 | 39 | 1 |
| 3 | 8 | 1 |
원하는 결과는 다음과 같습니다.
| order_id | SUM(total) |
-------------------------
| 1 | 15 |
| 3 | 47 |
is_tip 열 중 하나가 1인 경우에만 요약됩니다.따라서 주문 ID 1과 3이 적합합니다.지금까지 이 쿼리를 사용하려고 했습니다.
SELECT order_id, SUM(total) FROM orders HAVING COUNT(is_tip) >= 1;
하지만 이 질문은 너무 틀렸습니다.저는 초보자입니다.잘 부탁드립니다.
사용having절:
SELECT order_id, SUM(total)
FROM orders
GROUP BY order_id
HAVING SUM(is_tip) >= 1;
또한 당신의 쿼리가 필요합니다.GROUP BY그리고 적어도 하나의 "팁"이 있는 행을 원한다고 생각합니다.구문을 지정할 수도 있습니다.HAVING절은 다음과 같습니다.
HAVING MAX(is_tip) > 0
아래 쿼리를 사용하십시오.
SELECT order_id, SUM(total) FROM orders where is_tip >= 1 group by order_id;
Having집계 기준으로 필터링할 위치에서만 사용할 수 있습니다.
언급URL : https://stackoverflow.com/questions/62718487/mysql-sum-only-if-one-of-the-columns-contain-a-certain-value
반응형
'programing' 카테고리의 다른 글
| 열 머리글이 Oracle 출력 전체에 계속 나타남 (0) | 2023.07.23 |
|---|---|
| Django 템플릿의 %} 및 "{% include %}" 확장 (0) | 2023.07.23 |
| phpmyadmin 사용 데이터베이스 삭제 문 (0) | 2023.07.23 |
| 스프링 부트 로컬 날짜 필드 직렬화 및 역직렬화 (0) | 2023.07.23 |
| JavaScript 알림 상자 제목을 편집하는 방법은 무엇입니까? (0) | 2023.07.23 |