2011-11-15 60 views
1

我不知道下面的查询意味着什么,因为我没有任何暴露于MS Access。我需要将其转换成MySQL和我无法弄清楚什么是LAST()不什么是MySQL等效的MS Access LAST()?

SELECT 
    Containers.Container_No, 
    Max(Containers.LastOfContainer_Date), 
    Max(Containers.LastOfContainer_Time), 
    Last(Containers.LastOfETD), 
    Last(Containers.LastOfContainer_Status), 
    Last(Containers.LastOfPickup_From), 
    Last(Containers.LastOfPickup_To), 
    Last(Containers.LastOfConsignee_Name), 
    Last(Containers.LastOfContract_No), 
    Last(Containers.LastOfSeaLNo) 
FROM 
    Containers 
WHERE 
    Containers.Customer_Name = 'value here" 
AND 
    Containers.LastOfContainer_Date >='Date here' 
AND 
    Containers.LastOfContainer_Date <= 'Date here' 
GROUP BY 
    Containers.Container_No 

能有人解释我这是什么LAST()实际上呢?
UPDATE 看来查询可以更改为以下几点:

SELECT 
     Containers.Container_No, 
     Max(Containers.LastOfContainer_Date), 
     Max(Containers.LastOfContainer_Time), 
     Containers.LastOfETD, 
     Containers.LastOfContainer_Status, 
     Containers.LastOfPickup_From, 
     Containers.LastOfPickup_To, 
     Containers.LastOfConsignee_Name, 
     Containers.LastOfContract_No, 
     Containers.LastOfSeaLNo 
    FROM 
     Containers 
    WHERE 
     Containers.Customer_Name = '".$customername."' 
    AND 
     Containers.LastOfContainer_Date >='".$fromdate."' 
    AND 
     Containers.LastOfContainer_Date <= '".$todate."' 
    GROUP BY 
     Containers.Container_No 
    order by 
     Containers.LastOfETD, 
     Containers.LastOfContainer_Status, 
     Containers.LastOfPickup_From, 
     Containers.LastOfPickup_To, 
     Containers.LastOfConsignee_Name, 
     Containers.LastOfContract_No, 
     Containers.LastOfSeaLNo 
+2

[我的答案在这里的评论线索可能有帮助(或不!)](http://stackoverflow.com/questions/5407480/sql-distinct-query-on-multiple-columns/5407493#5407493) –

+0

[这是'Last()'函数]上的微软页面(http://office.microsoft.com/en-us/access-help/first-last-functions-HP001032232.aspx) – jadarnel27

+0

我独特的'Container_No'在桌子上还是有其他ID字段? – newtover

回答

1

最后函数返回给定查询的最后一个值,比如我认为在查询中使用的是它会返回例如,该特定客户最近进行的交易的数据,例如可以说Mike Jagger今天购买了2things,如果您使用最后一个功能,您将获得插入的最新信息,他将在同一日期进行2笔交易。

ID | Date | Product 
1 12/12/2011 socks 
2  12/12/2011 shirt 

select last(product) 
from buys; 

it would output : shirt 

BTW效仿这种行为,你可能想使用

ORDER BY product DESC LIMIT 1 
+0

我已经改变了查询和更新的问题,你可以看看它 – Kumar

+0

好的,后者没有Last()函数,但我认为你的问题是该函数做什么。 – isJustMe

+0

是的,我想知道它究竟做了些什么,阅读其他评论和你给出的sql帮助我。谢谢! – Kumar

0

this page,“最后函数返回的查询结果集的最后一个值。

您可能需要做一些ORDER BY x DESC LIMIT 1

相关问题