【问题标题】:mySQL Average Difference between two datesmySQL 两个日期之间的平均差异
【发布时间】:2015-11-22 00:06:16
【问题描述】:

谁能帮我解决这个问题?我正在查看 accommodation_offer.created_at 和 booking.requested_at 以了解第一个结果与第二个找到的最小结果之间的差异。

我在“字段列表”错误中收到一个未知列“minbooking”

我创建了 minbooking,因为我最初认为嵌套选择有助于 AVG(DATEDIFF(MIN( .

顺便说一句,一个报价可以有多个预订。我希望将结果按城市分组,然后按优惠创建日期,然后显示每个优惠创建和首次预订之间的平均时间差。

SELECT
accommodation_offer.created_at_month AS "Month of Offer Created",
property.address_city_code AS "City",
MIN(booking.requested_at) AS minbooking,
AVG(DATEDIFF(minbooking,accommodation_offer.created_at)) AS "Time Span in     Days"
FROM booking
INNER JOIN accommodation_offer
ON accommodation_offer.id=booking.offer_id
INNER JOIN property
ON accommodation_offer.property_id=property.id
GROUP BY property.address_city_code, accommodation_offer.created_at_month
ORDER BY property.address_city_code, accommodation_offer.created_at_month ASC

【问题讨论】:

  • ,您不能在 select 语句中直接为另一列提及一个别名(在您的例子中,您在另一列“Time Span in Days”中使用了别名“minbooking”)

标签: mysql sql inner-join min datediff


【解决方案1】:

试试这个

SELECT
accommodation_offer.created_at_month AS "Month of Offer Created",
property.address_city_code AS "City",
MIN(booking.requested_at) AS minbooking,
AVG(DATEDIFF(MIN(booking.requested_at),accommodation_offer.created_at_month)) AS  
"Time Span in     Days"
FROM booking
INNER JOIN accommodation_offer
ON accommodation_offer.id=booking.offer_id
INNER JOIN property
ON accommodation_offer.property_id=property.id
GROUP BY property.address_city_code, accommodation_offer.created_at_month
ORDER BY property.address_city_code, accommodation_offer.created_at_month 
ASC

【讨论】:

  • 感谢 Raj,这返回了我的第一个错误,导致我尝试拆分 AVG(DATEDIFF(MIN 最初 "Invalid use of group function")
  • 嗨 Raj,我的意思是它仍然返回一个错误...“无效使用组函数”
  • 在别名“Time Span in Days”中将“accommodation_offer.created_at”替换为“accommodation_offer.created_at_month”
  • 所以,在住宿优惠数据库中,我们有 created_at 和 created_at_month,因此使用
  • 所以你不能直接在 select 语句中使用它而不将它包含在 group by 你需要将它包含在 group by 或使用 MIn()、MAX() 或 SUM() 或类似这样的函数与住宿_offer.created_at
猜你喜欢
  • 2019-01-04
  • 1970-01-01
  • 2011-06-13
  • 2017-06-12
  • 2013-06-11
  • 2022-08-21
  • 2019-09-02
  • 1970-01-01
  • 2014-08-22
相关资源
最近更新 更多