2013-06-27 29 views
0

我正在使用Amazon Web Services API與SimpleDB域進行交互。相關的代碼是SimpleDB:選擇具有前5個最常用值之一的行

selectExpression = "SELECT * FROM myDomain"; 

selectRequestAction = new SelectRequest().WithSelectExpression(selectExpression) 
             .WithNextToken(nextToken); 
selectResponse = sdb.Select(selectRequestAction); 

在這一點上,我遍歷每個返回的行,做時髦的東西。我的表看起來像這樣:

| Name | AAA | BBB | CCC | 
------------------------------- 
| 519515 | fox | 311 | 1111 | 
| 216165 | cbs | 971 | 1112 | 
| 618105 | nbc | 035 | 1113 | 
| 187655 | npr | 851 | 1114 | 
| 551973 | npr | 654 | 1115 | 
| 018583 | cbs | 302 | 1116 | 
| 284801 | www | 762 | 1117 | 

基本上我想返回所有行的AAA AAA級之一。例如,如果有:

  • 1000行,其中AAA是 'CBS'
  • 800,其中AAA是 'ELO'
  • 400,其中AAA是 'NPR'
  • 304,其中AAA是「WWW 「
  • 200,其中AAA是 'FOX'

  • 100,其中AAA爲 'QWE'

我想返回所有行AAA是 'CBS', 'ELO', '全國公共廣播電臺', 'WWW' 或 '狐狸'。

謝謝!

+0

刪除我的答案。對不起,我忍不住。 – Yatrix

+0

您可以從上面的表格中添加您想要的輸出樣本嗎?你可以添加輸出表嗎? –

回答

0

我是從你家的問題明白了,你需要下面的輸出 -

| AAA | 
--------- 
| fox | 
| cbs | 
| elo | 
| www | 
| npr | 

爲你一旦你有你的前5位值的單獨運行這些查詢 -

select * from `myDomain` where `AAA` = 'cbs' order by `AAA` asc limit 1 
select * from `myDomain` where `AAA` = 'fox' order by `AAA` asc limit 1 
select * from `myDomain` where `AAA` = 'elo' order by `AAA` asc limit 1 
select * from `myDomain` where `AAA` = 'www' order by `AAA` asc limit 1 
select * from `myDomain` where `AAA` = 'npr' order by `AAA` asc limit 1 
0

AAA屬性,您可以使用此查詢

select * from `myDomain` where `AAA` in('cbs','fox','elo', 'www', 'npr') 

這將返回所有行wh AAA是'cbs','elo','npr','www'或'狐狸'。

相關問題