2011-06-02 51 views
-1

mysql表結構如下MySQL的GROUP BY和ORDER BY與限制查詢

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人信息

如果有任何人知道,請答辯

感謝

+1

請更改您的問題。它有點混亂。 – Lamps 2011-06-02 12:27:33

+0

我想記錄排序加入日期和每個公司與ONY 2記錄和公司加入最新的回報率第一 – 2011-06-02 14:46:51

回答

1

您需要將該表拆分爲兩個不同的表,員工和公司,並將其與另一個表結合在一起。根據你目前的結構,你想要做的大多數事情都是不可能的。

我強烈建議閱讀數據庫規範化的規則。

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 
+0

感謝您的答覆,但沒有兩個表是單一表。但要選擇具有最新的新員工加入的公司,併爲每個公司提供2個記錄,並按公司的組排序 – 2011-06-02 12:35:01