我有一個表「文章」,有一列「公司」,其中有公司名單或文章類型 - 蹩腳我知道,但它不是我的數據庫。 :)假設有 n每種類型的文章。我需要選擇屬於該類型的第一篇文章(基於年份或任何其他標準)。就像這樣:通過字符串和限制MySQL查詢
select * from details where (company = 'aaa' or company = 'bbb' or ...)
我知道類型是什麼,所以他們可以硬編碼。我只需要限制每種類型的第一篇文章。謝謝!
EDIT
給定的採樣數據:
id company copy issue ------------------------ 1 apple 'abc' NULL 2 bmw 'abc' NULL 3 ibm 'abc' NULL 4 news 'abc' 2 5 news 'abc' 3 6 seagate 'abc' NULL 7 events 'abc' 1 8 features 'abc' 5 9 samsung 'abc' NULL
我需要的行4,7,8。
EDIT2
對不起,如果我不清楚。本質上,表格包含兩種不同類型的數據。一個是公司信息,一個是文章信息。基本上我需要這樣做:
select * from articles where company = "news" order by issue limit 1;
select * from articles where company = "events" order by issue limit 1;
select * from articles where company = "features" order by issue limit 1;
但只有一個查詢。
這確實取決於標準。 MySQL很難在單個查詢中僅選擇組中第一個匹配行的字段。 – gahooa 2012-03-26 03:29:25
您的可排序數據在哪裏? #5之前排第4排的是什麼?另外,我看不出#7和#8有什麼區別。爲什麼不#1,#2,#3等? – Phil 2012-03-26 03:32:01
這就是數據輸入的方式,id是一個自動增量。這比這更復雜一點,但爲了方便起見,讓我們假設它只是id不同。 – Alex 2012-03-26 03:35:21