我有一个复杂的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