SQL 쿼리를 기반으로 보고서를 생성하려고합니다. Source = "Web"
및 기타 Source <> "Web"
없이 보고서를 생성해야합니다. 나는 이것에 대한 여러 게시물을 읽었지만 그들 중 아무도 내게 대답을 주었다. 아래에서 쿼리하십시오.단일 쿼리 두 반대 그룹 by
SELECT
content_provider,
provider_asset_id,
device_id,
carrier,
T.profile_id,
phonenumber,
dma,
CAST(asset_play_duration as decimal(15, 3)) AS asset_play_duration,
series_title,
episode_title,
source,
vsession_id AS session_id,
event_day
FROM
(SELECT
device_id,
program_asset_id,
vsession_id,
source,
vsession_start_ts,
batchtime,
vsession_end_ts,
IF (studio = '', network_tag, studio) AS content_provider,
provider_asset_id,
carrier,
profile_id,
phonenumber,
series_title,
episode_title,
content_type,
dma,
asset_play_duration,
source,
event_day,
ROW_NUMBER() OVER (PARTITION BY device_id, program_asset_id, vsession_id, vsession_start_ts ORDER BY batchtime DESC) AS rank
FROM ?) T
LEFT JOIN ? tp
ON T.profile_id = tp.profile_id
WHERE tp.profile_id IS NULL
AND T.rank = 1
**AND T.source <> "Web"**
AND T.event_day BETWEEN ? AND ?
한 보고서는 위의 조건 (T.Source <>"web"
)과 함께한다 필터 (T.Source = "Web"
)없이되어야 다른. 나는 Union과 Inner를 시도했는데 둘 다 작동하지 않았다. 도움이 필요합니다.
언제 mySQL이 창 기능을 지원하기 시작 했습니까? (질문 * mySQL * 꽤 그들은 거기에서 작동하지 않는다고 ... 그래서 RDBMS이 무엇입니까?) – xQbert
당신은 왜 UNION ALL을 사용하지 않습니까? – Teja
두 분리 된 작업 쿼리 .. 표시 및 필요한 결과를 설명하십시오 – scaisEdge