选择汇总结果

工作室时间

我有一个查询,该查询从另一个表进行计数,然后为结果添加一列。然后,我需要基于此更改原始的选择结果,但被告知未知列。

例如下面的查询对主查询中的另一个表进行计数,结果命名为shares,我需要基于该列是否大于0来过滤主查询结果集,但是我得到了错误 unknown column shares

select b.name, event_title, ue.event_vis, event_date, 
    (select count(*) from list_shares 
        where user_id = 63 and event_id=ue.user_event_id) as shares,
    (DAYOFYEAR(ue.event_date) - DAYOFYEAR(CURDATE())) as days 
FROM brains b
    join user_events ue on b.user_id=ue.user_id
where b.user_id=63 and ((ue.event_vis='Public') OR (shares>0)) 
    and MOD(DAYOFYEAR(ue.event_date) - DAYOFYEAR(CURDATE()) + 365, 365) <= 30 
order by days asc

有没有办法做到这一点?

timo.rieber

我建议使用派生表来传递汇总值并将其加入,就像使用“ physscal”表一样。例子:

select
    b.name,
    ue.event_title,
    ue.event_vis,
    ue.event_date, 
    tmp.shares,
    (DAYOFYEAR(ue.event_date) - DAYOFYEAR(CURDATE())) as days

from
    brains b join user_events ue on b.user_id = ue.user_id
    left join (
        select
            ls.user_id,
            ls.event_id,
            count(*) as shares
        from
            list_shares ls
        group by
            ls.user_id,
            ls.event_id) tmp on b.user_id = tmp.user_id and ue.user_event_id = tmp.event_id

where
    b.user_id = 63
and
    ((ue.event_vis = 'Public') OR (tmp.shares > 0))
and 
    MOD(DAYOFYEAR(ue.event_date) - DAYOFYEAR(CURDATE()) + 365, 365) <= 30 

order by
    days asc

请注意“左联接”。因为您在where子句中使用OR运算符,在我看来,您似乎也希望获得没有共享的行。

当然,您也可以在where子句中使用相同的子选择,但这是重复的代码,难以维护。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

过滤汇总结果

来自分类Dev

了解蝗虫汇总结果

来自分类Dev

建立汇总结果的总和

来自分类Dev

CUDA线程的汇总结果

来自分类Dev

汇总结果在猫鼬中

来自分类Dev

ElasticSearch按汇总结果过滤

来自分类Dev

如何在Cypher中汇总结果?

来自分类Dev

猫鼬对汇总结果进行排序

来自分类Dev

如何按条件汇总结果

来自分类Dev

Dplyr summarise_each汇总结果

来自分类Dev

Pyspark窗口,各组之间汇总结果

来自分类Dev

比较字典的多个值并汇总结果

来自分类Dev

如何在Cypher中汇总结果?

来自分类Dev

MongoDB:按年汇总结果

来自分类Dev

将分组结果与汇总结果进行比较

来自分类Dev

mongo查找与汇总结果之间存在冲突

来自分类Dev

两级汇总结果显示数值(0)

来自分类Dev

循环遍历json对象并返回汇总结果

来自分类Dev

在汇总结果中对子数组进行排序

来自分类Dev

按百分比订购汇总结果?

来自分类Dev

在Pandas中groupby之后如何绘制汇总结果?

来自分类Dev

来自多个Future调用的Scala汇总结果

来自分类Dev

如何汇总结果并按给定字段分组?

来自分类Dev

如何显示无计数汇总结果的行?

来自分类Dev

R中的汇总结果的滚动平均值

来自分类Dev

SQL-包含汇总结果为0的行

来自分类Dev

按百分比订购汇总结果?

来自分类Dev

汇总结果的Elasticserach过滤器(SQL HAVING)

来自分类Dev

mysql - 所有用户每小时的汇总结果