mysql取一张表的数据,如何某个字段相同的只取一条?

一张任务表,里面有一个外键。叫做企业。

现在我需要每一个企业各取一条任务数据。

请问这个sql该怎么写呢?
毫无头绪。
如果采用去重,那根本达不到我要的效果。
如果直接取显然是不满足我的需求的。
谁有什么好的办法么?

首先,那张表很大。然后每一个企业都有无数的任务。

巧了,我之前经常搞这种事,有个特别笨并且特别简单的办法希望能帮到你。
就算每个企业取一条也是要有一个标准的呀,比如要取出每个企业最新的一条任务吧。

  1. 根据企业进行分组,然后取到max(create_time),这样你就能拿到企业编号和最新任务的时间。
  2. 然后外面嵌套,将第一步的查询结果作为子表与企业任务表再进行关联,这样就取到了每个企业最新的一条任务。
    但是看你说表很大,这种方式只能解决五万条以下的查询,再多就会感觉到卡顿了。

select * from xx group by qiye;

1、先取出企业信息数据集
2、遍历企业数据数据集
SELECT * FROM 任务表 where 企业id=“企业ID” LIMIT 0,1;

如有帮助,请采纳