当前位置: 首页 > 面试题库 >

是否可以在同一查询中计算两列

卫增
2023-03-14
问题内容

假设我具有以下表格结构:

t1
-------------
id // row id
userID_follower // this user is a follows another member
userID_following  // other member that this user

是否可以运行单个查询以结合以下两个条件:

  1. 此人正在关注多少用户

从t1 WHERE userID_follower =“。$ myID”中选择COUNT(id)。。”

  1. 有多少用户关注此人

从t1 WHERE userID_following =“。$ myID”中选择COUNT(id)。

谢谢。


问题答案:

在MySql中,您可以SUM()在条件上使用该函数,因为错误条件将等于0,而真正条件将等于1

SELECT SUM(userID_follower = $myID) AS followerCount,
   SUM(userID_following = $myID) AS followingCount
FROM t1
WHERE userID_follower = $myID
   OR userID_following = $myID


 类似资料:
  • 问题内容: 上面的语句返回3行。但是下面的语句仅返回2行。 我知道为什么会这样,但是有一种方法可以强制item_id 1返回两次? 我要退货的示例: id-> 1筹码€2.50 id-> 1筹码€2.50 id-> 2可口可乐€1.60 -------------------- 总计€6.60 问题答案: 您可以加入另一个表,例如 或者只是在您的应用程序中复制它们。 您实际上不需要做您所要的。

  • 问题内容: 我想知道是否可以在@Query批注中包含子查询(org.springframework.data.jpa.repository.Query;) 我在第一个子查询括号上得到QuerySyntaxException。 这是我的查询 谢谢! 问题答案: 不可以,JPQL查询的select子句中不能包含子查询。 JPQL在WHERE和HAVING子句中支持子查询。它可以(至少)是ANY,SOM

  • ServerSocket是来自Java.NET API的ServerSocket normal Socket是来自Java.NET API的Socket 是的,这里的ServerSocket是指建立连接后从ServerSocket.Accept返回的套接字

  • 问题内容: 我需要捕获两个异常,因为它们需要相同的处理逻辑。我想做类似的事情: 是否可以避免在每个catch块中重复处理程序代码? 问题答案: Java 7及更高版本 从Java 7开始,支持多异常捕获。 语法为: 的静态类型是列出的异常中最特殊的通用超类型。有一个很好的功能,如果您将其重新抛出,编译器就会知道只能抛出列出的异常之一。 Java 6及更早版本 在Java 7之前,有多种方法可以解决

  • 问题内容: 有没有一种方法可以重用mysql语句中的计算字段。我收到以下错误信息:“ unknown column total_sale”: 还是我必须重复计算,如果我添加了所有需要的计算,这将导致很长的SQL语句。 当然,我可以在我的php程序中进行所有计算。 问题答案: 是的,您可以重用变量。这是您的操作方式: 在此处了解更多信息:http : //dev.mysql.com/doc/refm

  • 问题内容: 我在Sql Server 2008上有这样的查询: 在上面看到的选择查询中,SqlServer是否优化查询以免一次又一次地计算DATEADD结果。还是将DATEADD结果存储在临时变量中是我自己的责任吗? 问题答案: 令人惊讶的是,我发现内联使用GETDATE()似乎比预先执行这种类型的计算更有效。 如果您检查这些计划,则中间查询将始终以最低的成本(但并非总是最低的花费时间)出现。当然