mysql group by和order by with limit query

时间:2011-06-02 12:11:47

标签: mysql

mysql表结构如下

cmpid cmpname empid empname join-date
    1     xxx    21      p        18
    2     abc    13      q        10
    1     xxx    20      r         9      
    2     abc    19      s        21
    2     abc    18      t        20
    1     xxx    19      u         1

我想按照格式

获得结果
cmpid cmpname empid empname join-date
    2     abc    19      s         21
    2     abc    18      t         20

    1     xxx    21      p         18
    1     xxx    20      r          9

意味着哪些公司有任何新的emp。然后它首先返回该公司,前两个加入emp信息。然后是其他具有相同格式的组合。

表示在cmpname上加入日期和组的顺序为2人信息

如果有人知道请回复

由于

2 个答案:

答案 0 :(得分:1)

你的意思是?

select c.cmpid, c.cmpname, e.empid, e.empname, e.join-date
from company c
inner join employee e on (c.cmpid = e.cmpid)
group by c.cmpid, e.emp_id 
order by e.join-date

答案 1 :(得分:1)

您需要将该表拆分为两个不同的表,员工和公司,并使用另一个表将它们连接在一起。根据您当前的结构,您想做的大部分事情都是不可能的。

我强烈建议您阅读数据库规范化规则。