您好我想问一下我遇到的问题。我有一个酒店的数据库,我想找到最长停留的客户。
我有3张桌子:
我创建的脚本:
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 |
答案 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
)
应该有效