帮忙改一条mysql语句

karykwan 2008-08-27 10:55:45
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

我想查询最近时间联系的一条记录,请帮忙改一下上面的语句
...全文
174 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
theauto 2008-09-21
  • 打赏
  • 举报
回复
我不会
karykwan 2008-08-27
  • 打赏
  • 举报
回复
谢谢:yanxiao_jiang 我要的结果是:
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

不是只要一条
yangxiao_jiang 2008-08-27
  • 打赏
  • 举报
回复
加上order by 倒序,取一条就行了。
karykwan 2008-08-27
  • 打赏
  • 举报
回复
谢谢大家了.来者有分.我的mysql是4.0的,用不了子查询.所以上述都不对.结贴给分:
WWWWA 2008-08-27
  • 打赏
  • 举报
回复
select a.* from tt a inner join
(select customer_id,max(contact_date) as ma from tt group by customer_id) b
on a.customer_id=b.customer_id and a.contact_date=b.ma
chensiping 2008-08-27
  • 打赏
  • 举报
回复
m个类型取前n条的问题
如果n=1
一条sql语句可以完成
如果n>1的话
一条语句是不能完成的,需要程序完成
__________________________________________
你的要求可用

select contact_id,customer_id,contact_seller,max(contact_date)
from contact
group by customer_id;

来完成


yangxiao_jiang 2008-08-27
  • 打赏
  • 举报
回复
LEFT OUTER JOIN CONTACT c
这个地方
改称
LEFT OUTER JOIN ( select CUSTOMER_ID,max(contact_date) from CONTACT group by CONTACT_date) c


看看是否是你需要的。

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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