- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
给出这些表:
Table1asID mID aType rID sNo1 2 11 212 14 2 8 242 14 2 7 241 13 2 11 547 22 2 3 567 24 2 2 577 26 3 11 785 11 3 6 735 1table2asID rating1 11 -13 13 13 14 1
注意:
在表 1 中:
aType=11
。每个 block 不能包含 2 个 aType=11
mID=2 & sNo=1
)在表 2 中:
所以,假设用户输入aType=11
,那么在Table1中我们可以拉出
Query1mID aType rID sNo2 11 212 12 11 547 23 11 785 1
所以在搜索 aType=11
之后我们会知道 3 个 block :
-第 1 block (mID=2,sNo=1)
-第 2 block (mID=2,sNo=2)
-第 3 block (mID=3,sNo=1)
但是,查询 1 缺少评级信息的总和。我需要为查询 1 中的每个 block 获得一些评级。
-Chunk 1 具有唯一的 asID 1 和 4(注意:4 重复 2 次)。 block 1 在表 2 中应该有 rating = 1 cos 的总和,1 的 asID 是 +1 & -1 & 4 的 asID 是 +1。
所以用户搜索 aType=11 时的最终查询如下所示:
Query1mID aType rID sNo sumOfRating2 11 212 1 12 11 547 2 43 11 785 1 0
我们可以在 1 个查询中实现吗?
查询 1:select mID, aType, rID, sNo from table1 where aType=11
那么我们应该如何修改该查询,以便我们可以将评级总和包含到最终表中?
我正在使用 MYSQL 5.0
最佳答案
您有一个选择是使用相关子查询:
select mid, atype, rid, sno,
(
select sum(t2.rating)
from table2 t2
join (
select distinct asid, mid, sno
from table1
) t11 on t2.asId = t11.asId
where t1.mid = t11.mid and t1.sno = t11.sno
) sumofrating
from table1 t1
where atype = 11;
关键是您必须使用子查询来获取不同的 asid/mid/sno
组合(这样您就不会计算 4 的评级两次)。
关于php - 对表 1 返回 ID 的查询,表 2 包含评级,如何通过在 Just 1 查询中加入表 1 和表 2 来获得 SUM 评级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23946807/
我很困惑为什么我在 GHCi 中得到了这个 :t sequence [Just,Just] sequence [Just, Just] :: a -> [Maybe a] 说详细点,可以理解seque
我怎样才能做到以下几点。例如,如果我想减去 Just 8 - Just 5 得到 Just 3,我该怎么做? Just 8 - Just 5 = Just 3 Just 15 - Just 9 = J
Define a function pairMaybe :: Maybe a -> Maybe b -> Maybe (a,b) that produces a Just result only
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
我有一个我应该这样定义的函数: func :: (a -> Maybe [b]) -> [a] -> Maybe [b] 它应该如何工作的一些示例: func (\x -> if x == 0 the
我们的电子商务网络应用程序中的多个页面允许用户过滤他们提交给我们的请求的状态列表。 过滤器通常是这样的: 所有待完成 我们将它们设置为链接。我们想设置它们的样式,以便当前事件的过滤器用彩色矩形突出显示
我知道括号会强制执行不同的操作顺序,但我不太明白第一个结果: >> (fmap length Just) [1, 2, 3] 1 而以下内容非常有意义 - 我们将长度函数提升到 Just 结构上,因此
我是一个绝对的初学者。使用 emacs 浏览 LYAH。 我目前的设置: Ubuntu 12.04 LTS(使用体验 - 初学者) GNU Emacs 23(使用经验 - 初学者) 能够在haskel
目前我正在学习 Haskell,并且坚持将类型实例化为类型类。我实际上不明白,为什么可以使用 Maybe a 创建 Just (+) 类型的值。 为什么这对我来说很奇怪的问题是,Maybe 类型被定义
基本上我希望 sub.domain.com 重定向到 domain.com,但只有那个 url。例如 sub.domain.com/page 应该仍然加载而不重定向。我怎样才能做到这一点 .htacc
我的问题是由 this 触发的关于 SO 的讨论,这并没有导致真正解释该问题的答案。我在这里以稍微不同的方式“重写”它,因为我想让它更清楚真正的问题是什么,因此希望在这里得到答案。 考虑以下两个 Ru
我是iPhone编程的新手。任何帮助将不胜感激 :) 当我从obj-c方法或C函数中启动新的NSThread时,一切正常: [NSThread detachNewThreadSelector:@sel
Visual Studio 有一个选项(在“调试/常规”下)“仅启用我的代码” 什么是“只是我的代码”? Visual Studio 没有解释该功能。 最佳答案 来自Visual Studio Doc
我以为这是工作原理,好像我丢失了一些东西。 @Test fun singleCompletes() { val testSubscriber = TestSubscriber() Si
我在将 Maybe 列表转换为字符串列表时遇到问题。 我的列表看起来像这样:[没有,只有 3,只有 9,没有,没有]。 我想将所有 Nothing 替换为点('.'),并将所有 Just Int 替换
我有以下代码: doIf :: (a -> IO ()) -> Maybe a -> IO () doIf f x = case x of Just i -> f i Nothing -> r
为什么这个工作... Just.(+3) $ 6.7 Just $ truncate 8.9 ...但不是这个? Just.truncate $ 8.9 我尝试将截断解析为一个简单的 Double -
[编辑] 我在numbtongue之后重建了我的代码暗示。现在看起来完全不同了,而且运行得很好。只不过它只能工作一次!滚了一圈之后就不再滚了...我有两种功能:一种用于过渡,另一种用于替换内容。在“t
我正在为 MySQL 服务器执行以下 SQL 脚本。它是创建一个接受类(class)代码和开始日期作为参数的 SPROC,然后在连续的工作日为每个模块添加类(class)。 DELIMITER
我很困惑。我有一个方法可以做一些长时间的工作(大约 5 秒)并返回一个 String 作为结果。我将该函数包装到一个 Observable smth 中,如下所示: private Observabl
我是一名优秀的程序员,十分优秀!