- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我需要在 sakila 数据库中找到最长的电影租借期。我试过这个:
SELECT DISTINCT
customer.first_name
FROM
rental,
customer
WHERE
rental.customer_id = customer.customer_id
GROUP BY
rental.rental_id
HAVING
(
rental.return_date - rental.rental_date
) =(
SELECT
MAX(countRental)
FROM
(
SELECT
(
rental.return_date - rental.rental_date
) AS countRental
FROM
rental,
customer
GROUP BY
rental.rental_id
) AS t1
)
但我收到了错误:
# 1054 - Unknown column 'rental.return_date' in 'having clause'
有人知道为什么吗?我使用了一个应该是聚合数据的列。我错过了什么?
最佳答案
如文档中所写
The SQL standard requires that HAVING must reference only columns in the GROUP BY clause or columns used in aggregate functions. However, MySQL supports an extension to this behavior, and permits HAVING to refer to columns in the SELECT list and columns in outer subqueries as well.
您必须在 select 子句中指定 return_date 和 rental_date。
有两种选择:
SELECT DISTINCT
customer.first_name,
rental.return_date,
rental.rental_date
FROM
rental,
customer
WHERE
rental.customer_id = customer.customer_id
GROUP BY
rental.rental_id
HAVING
(
rental.return_date - rental.rental_date
) =(
...
或
SELECT DISTINCT
customer.first_name,
(rental.return_date - rental.rental_date) as rental_duration
FROM
rental,
customer
WHERE
rental.customer_id = customer.customer_id
GROUP BY
rental.rental_id
HAVING
rental_duration =(
...
两者都应该工作得很好。
关于mysql - 'having clause' 中的未知列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36105812/
MySQL 首先执行什么:WHERE 子句还是ORDER BY 子句? 我问的原因是确定我是否应该为给定的列添加索引。 我有如下表格: | Column | Type | Inde
如果您要在 SQL 查询中连接多个表,您认为将连接语句放在什么地方比较好:在 FROM 子句或 WHERE 子句中? 如果您打算在 FROM 子句中执行它,您如何格式化它以使其清晰易读? (我说的是一
mysql新版本与only_full_group_by的问题 我需要使用 Group by (col_id) 和 order by (date) 获取表值我在 mysql 中的代码如下: SELECT
获取异常: With-clause referenced two different from-clause elements 使用以下实体执行以下查询时: @Entity public class
我已经编写查询以从作为表 tbl_states 的主键的 tbl_summer 表中获取状态为事件的不同 stateID。 我想要按字母顺序列出不同的州名。实际上我是从以下查询中得到的,但字母顺序没有
我试图找出以下 2 个查询之间的区别 查询 1: 其中我在子句中给出了条件 'Orders.OrderID != null' SELECT Customers.CustomerName, Orders
我有两个模型: const User = sequelize.define('User', { email: { type: DataTypes.STRING, },
我正在尝试在我的 JPA 存储库之一中使用内部联接进行选择 查询: @Query(value = "select wm.WagerIdentification, wm.BoardNumber, wm.
我正在尝试从表中获取记录总数并使用以下 MySQL 查询: SELECT COUNT(*) AS cnt FROM `info` WHERE 1 GROUP BY FROM_UNIXTIME(sign
我开始使用 Hibernate 并且我正在使用 HQL,使用一些连接从数据库中检索数据但是出现此错误,感谢任何有关如何解决此问题的帮助。 Field.hbm.xml 文件:
使用Finish语句的代码和不使用Finally语句的代码之间有什么不同?。这对于没有Finish语句的代码来说,它们看起来是一样的。有什么不同吗,比如表现还是什么?。这是我从那个网站得到的流程图。在
在 Redshift 上输入以下查询时,我收到“错误:带有 ORDER BY 子句的聚合窗口函数需要框架子句”消息。请帮助 - 我正在尝试查看成员从第一天到今天的成长情况。谢谢。 select dat
我正在为此编写一个查询: select * from players where player_name like '%K% and player_rank 1; 现在,函数 check_if_p
我有 3 个 SQL 查询: 从 user_id =4 的用户中选择 student_id;//返回 35 select * from student where student_id in (35)
我有这样一个 xml: nota1 nota2 nota3 nota4 nota1
我一直试图找出错误,我正在做一种编程语言并有下一个代码,使用 ragg,我有一个语法对象(resto ...),它有一个括号作为数据,我转换这个语法对象到一个数据: (let ([i (synt
我正在尝试在 MS SQL Server 上连接 2 个或更多表。所有表都有确定事件记录的 IsActive 字段。 (IsActive = 1 表示事件记录,IsActive = 0 表示非事件记录
有人可以指导我修复此查询中的错误吗: var objApps = from item in xDoc.Descendants("VHost")
我在 MySQL 中遇到错误:错误代码:1054。“on 子句”中的未知列“s.Product_id” 出现在: SELECT c.customer_ID, p.Product_id, p.Produ
我正在尝试运行一个使用 WHERE 子句从表中选择值的查询,该查询只返回所有条件都有值的行,我是否要返回同样为空的值? Language Table
我是一名优秀的程序员,十分优秀!