嗨,我有两张桌子a2_deal(我没有提到整个桌子很大)
deviceID companyID stage serverTime
1 14 -1 1349449200
1 1 -1 1349445600
2 21 -1 1349449200
3 17 -1 1349447160
1 14 3 1344449200
1 14 2 1340449200
和另一个名为a2_comp 的表
companyID name
1 Microsoft
14 DELL
15 APPLE
17 Google
我正在尝试通过使用以下查询来获取公司的最新阶段:
SELECT deal.companyID, companies.name as Company,
if(max(serverTime),stage,Null) as Stage
FROM `a2_deal` AS deal
LEFT JOIN `a2_comp` AS companies ON deal.companyID = companies.companyID
GROUP BY companyID
ORDER BY serverTime
在我的查询中,我使用if(max(serverTime),stage,Null) 作为 Stage,这意味着选择与最近服务器时间相关的阶段值。即它应该给我-1作为companyID 14的阶段....但是由于某种原因我没有得到正确的输出..请解释我的逻辑在这里是怎么错的...谢谢