같이 계산하십시오. 하나의 테이블에서 두 개의 Select 문을 두 개의 개별 열로 결합한 다음이를 %로 나누어도됩니까? 당신은에 두 쿼리에서 논리를 결합하는 조건 집합을 사용할 수 있습니다두 개의 Select 문을 %
Quote with VIN | Number of Quote | Result
-----------------------------------------
116260 | 195850 | 59.36%
같이 계산하십시오. 하나의 테이블에서 두 개의 Select 문을 두 개의 개별 열로 결합한 다음이를 %로 나누어도됩니까? 당신은에 두 쿼리에서 논리를 결합하는 조건 집합을 사용할 수 있습니다두 개의 Select 문을 %
Quote with VIN | Number of Quote | Result
-----------------------------------------
116260 | 195850 | 59.36%
: 예상 결과는 다음과 같이 될 것이다
select count(*) as 'Number of Quote'
from BSIT_ERA_RAW_DATA.dbo.QUOTE
: 아래의 두 번째 Select 문으로
Select count(*) as 'Quote with VIN'
From BSIT_ERA_RAW_DATA.dbo.QUOTE
where LEN(inv_vehicle_id) = 17
단일 검색어 :
SELECT SUM(CASE WHEN LEN(inv_vehicle_id) = 17 THEN 1 END) AS `Quote with VIN`,
COUNT(*) AS `Number of Quote`,
CONCAT(ROUND(100 * SUM(CASE WHEN LEN(inv_vehicle_id) = 17 THEN 1 END)/COUNT(*), 2),
'%') AS Result
FROM BSIT_ERA_RAW_DATA.dbo.QUOTE
훌륭하게 작동합니다 .. 덕분에 많이 – AlvinWi
조건부 집약을 사용할 수 있습니다. MySQL은, 당신은 짧은 컷으로이 작업을 수행 할 수 있습니다
select sum(len(inv_vehicle_id) = 17)) as `Quote with VIN`,
count(*) as `Number of Quote`
From BSIT_ERA_RAW_DATA.dbo.QUOTE ;
대부분의 다른 데이터베이스에서 당신은 case
을 사용해야합니다.
또한 열 이름에 작은 따옴표를 사용하지 마십시오. 그것은 기다리고있는 버그입니다. 가장 좋은 선택은 이스케이프 할 필요가없는 이름을 선택하는 것입니다. 하지만 그렇게한다면, MySQL 이스케이프 문자 (backquotes)를 사용하십시오.
''sql-server'에 chg'd 태그, 직감 – Drew
설명해 주신 분들께 고마워요 ... – AlvinWi