我有一個複雜的mysql查詢語言,包括幾個子查詢,我的最終結果如下。有一些我正在處理它,我無法解決它,這是一種方法結果正在呈現。我想知道如何以一種方式改變結果的結構,結果只在一行中顯示,我不想看到空字段。我的意思是類似下面如何更改MySQL結果的格式?
這是MySQL查詢
select count(*) as userRetentionSameDay, null as 'userRetentionDiffDay' from (SELECT date(`timestamp`), `user_xmpp_login`
FROM table1
WHERE DATE(`timestamp`) = CURDATE() - INTERVAL 1 DAY) as res1
right join (select date(ts), user
from table2
WHERE DATE(ts) = CURDATE() - INTERVAL 1 DAY
and product_id REGEXP ("^(europe+$")) as lej1
on lej1.user = res1.`user_xmpp_login`
where res1.`user_xmpp_login` IS not NULL
union all
select null as 'userRetentionSameDay', count(*) as userRetentionDiffDay from (SELECT date(`timestamp`), `user_xmpp_login`
FROM table1
WHERE DATE(`timestamp`) = CURDATE() - INTERVAL 1 DAY) as res1
right join (select date(ts), user
from table2
WHERE DATE(ts) = CURDATE() - INTERVAL 1 DAY
and product_id REGEXP ("^(europe+$")) as lej2
on lej2.user = res1.`user_xmpp_login`
where res1.`user_xmpp_login` IS NULL;
什麼都做了推薦的解決方案?
謝謝,它的工作原理,如果你能解釋我的問題,你能解釋一下嗎? –
聯合僅添加行而不是列,因此如果想要來自同一數據的兩列使用每個結果的別名,然後從中進行選擇。 – MohanaPriyan
連接也可以在上面的查詢中使用,但我們必須爲同一個表創建不同的別名。 – MohanaPriyan