SQL最长的时间

时间:2015-06-13 21:46:02

标签: mysql sql

您好我想问一下我遇到的问题。我有一个酒店的数据库,我想找到最长停留的客户。

我有3张桌子:

  1. costumer (code_costumer,姓名,姓氏),
  2. 逗留(code_stay,date_start,date_end),
  3. costumer_stay (code_stay,code_costumer)
  4. 我创建的脚本:

    SELECT datediff(date_end,date_start) as dd,
           stay.code_stay,costumer_stay.code_costumer
    FROM stay INNER JOIN costumer_stay 
              ON stay.code_stay=costumer_stay.code_stay;
    

    但我不能让一个人留下最长的时间,我会得到类似的东西:

    id|code_stay|code_costumer|
    ---------------------------
    25|xa21     |1001         |
    8 |xb24     |1005         |
    7 |xb30     |1003         |
    

2 个答案:

答案 0 :(得分:2)

SELECT datediff(date_end,date_start) as dd,
       stay.code_stay,costumer_stay.code_costumer
FROM stay 
INNER JOIN costumer_stay ON stay.code_stay = costumer_stay.code_stay
ORDER BY dd desc
LIMIT 1

答案 1 :(得分:1)

类似

select code_stay from stay where datediff(date_end,date_start) = (
    select max(datediff(date_end,date_start)) from stay
)

应该有效