programing

MYSQL SELECT: WHERE 절의 첫 번째 또는 두 번째 조건이 충족되었는지 여부를 나타내는 추가 열을 얻는 방법

projobs 2023. 1. 14. 10:11
반응형

MYSQL SELECT: WHERE 절의 첫 번째 또는 두 번째 조건이 충족되었는지 여부를 나타내는 추가 열을 얻는 방법

부울 열을 추가하려면 어떻게 해야 합니까?SELECT와의 진술WHERE조항과 조건을 조합하여OR즉, 첫 번째 조건이 충족되면 1이 되고 첫 번째 조건이 충족되지 않으면 0이 되는 것입니까?

예를 들어 다음 표를 참조하십시오.t정수 열 포함:

+----+---+---+
| id | a | b |
+----+---+---+
|  1 | 2 | 3 |
|  2 | 3 | 2 |
|  3 | 5 | 2 |
+----+---+---+

스테이트먼트를 실행할 때SELECT * FROM t WHERE a<b OR b+1=a;이해:

+----+---+---+
| id | a | b |
+----+---+---+
|  1 | 2 | 3 |
|  2 | 3 | 2 |
+----+---+---+

그리고 내가 원하는 건 추가 컬럼이야cond,맘에 들다

+----+---+---+------+
| id | a | b | cond |
+----+---+---+------+
|  1 | 2 | 3 |    1 |
|  2 | 3 | 2 |    0 |
+----+---+---+------+

MySQL에서 이를 실현하려면 어떻게 해야 합니까?

이것은, select 절의 케이스 스테이트먼트를 사용해 실시할 수 있습니다.

SELECT id, a, b, 
 CASE WHEN a<b THEN 1
      WHEN b+1=a THEN 0
 END x
FROM t WHERE a<b OR b+1=a

이것으로 충분합니다.

SELECT id, a, b, IF(a<b, 1,0) as cond
FROM t
WHERE a<b OR b+1=a; 

언급URL : https://stackoverflow.com/questions/46530140/mysql-select-how-to-get-an-additional-column-that-indicates-whether-the-first-o

반응형