帮忙改一条mysql语句

karykwan 2008-08-27 11:40:51
SELECT a.LINKMAN_ID,b.CUSTOMER_ID,LINKMAN_NAME,SEX,a.TEL_NO_WORK,a.MOBILE,a.EMAIL as EMAIL,a.OICQ,a.ICQ,b.CUSTOMER_NAME,c.CONTACT_DATE,c.SELLER FROM `LINKMAN` a LEFT OUTER JOIN CUSTOMER b ON a.`CUSTOMER_ID` = b.`CUSTOMER_ID` LEFT OUTER JOIN CONTACT c on c.`CUSTOMER_ID`=b.`CUSTOMER_ID` where 1=1 ORDER BY a.CUSTOMER_ID desc LIMIT 0 ,10

CONTACT表中有一个字段[contact_date]为时间类型.结构如下:

contact_id customer_id contact_seller contact_date
1 122 张 2008-8-20
2 153 李 2008-8-21
3 122 张 2008-8-25
4 239 王 2008-8-26

我想查询最近时间联系的一条记录,请帮忙改一下上面的语句

我要的结果是:
LINKMAN_ID LINKMAN_NAME contact_id customer_id contact_seller contact_date
  X       X       2 153 李 2008-8-21
  X       X       3 122 张 2008-8-25
  X       X       4 239 王 2008-8-26
...全文
72 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
karykwan 2008-08-27
  • 打赏
  • 举报
回复
是这样的,我现通过上述语句查询结果为:
LINKMAN_ID LINKMAN_NAME contact_id customer_id contact_seller contact_date
  X       X       1 122 张 2008-8-20
  X       X       2 153 李 2008-8-21
  X       X       3 122 张 2008-8-25
  X       X       4 239 王 2008-8-26
结果应该是customer_id相同的,取时间最近的一条记录,所以结果应该为:
LINKMAN_ID LINKMAN_NAME contact_id customer_id contact_seller contact_date
  X       X       2 153 李 2008-8-21
  X       X       3 122 张 2008-8-25
  X       X       4 239 王 2008-8-26
昵称被占用了 2008-08-27
  • 打赏
  • 举报
回复
try:
SELECT top 10 a.LINKMAN_ID,b.CUSTOMER_ID,LINKMAN_NAME,SEX,a.TEL_NO_WORK,a.MOBILE,a.EMAIL as EMAIL,a.OICQ,a.ICQ,b.CUSTOMER_NAME,c.CONTACT_DATE,c.SELLER FROM LINKMAN a LEFT OUTER JOIN CUSTOMER b ON a.CUSTOMER_ID = b.CUSTOMER_ID LEFT OUTER JOIN CONTACT c on c.CUSTOMER_ID=b.CUSTOMER_ID where 1=1 ORDER BY a.CUSTOMER_ID desc 



似乎语句和描述对不上
karykwan 2008-08-27
  • 打赏
  • 举报
回复
我的mysql4.0,不能用子查询.还是感谢大家.用了笨办法解决了.给分先:)
sxn19811006 2008-08-27
  • 打赏
  • 举报
回复
select * from CONTACT a where contact_date
=(select max(contact_date ) from CONTACT b where a.customer_id=b.customer_id)
sxn19811006 2008-08-27
  • 打赏
  • 举报
回复
select * from CONTACT b where contact_date
=(select max(contact_date ) from CONTACT b where a.customer_id=b.customer_id)
等不到来世 2008-08-27
  • 打赏
  • 举报
回复

SELECT a.LINKMAN_ID,b.CUSTOMER_ID,LINKMAN_NAME,SEX,a.TEL_NO_WORK,a.MOBILE,a.EMAIL as EMAIL,a.OICQ,a.ICQ,b.CUSTOMER_NAME,c.CONTACT_DATE,c.SELLER
FROM LINKMAN a LEFT OUTER JOIN CUSTOMER b ON a.CUSTOMER_ID = b.CUSTOMER_ID LEFT OUTER JOIN CONTACT c on c.CUSTOMER_ID=b.CUSTOMER_ID
where 1=1 and not exists (select 1 from CONTACT where CUSTOMER_ID=c.CUSTOMER_ID and CONTACT_DATE>c.CONTACT_DATE)
ORDER BY a.CUSTOMER_ID desc LIMIT 0 ,10

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧