0

我正在使用 Amazon Web Services API 与 SimpleDB 域进行交互。相关代码是

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 前 5 个 AAA 之一的所有行。例如,如果有:

  • AAA 为 'cbs' 的 1000 行
  • 800 AAA 是 'elo'
  • 400,其中 AAA 是“npr”
  • 304,其中 AAA 是“www”
  • 200 AAA 是“狐狸”

  • 100 AAA 是 'qwe'

我想返回 AAA 为“cbs”、“elo”、“npr”、“www”或“fox”的所有行。

谢谢!

4

2 回答 2

0

我从您的问题中了解到,您需要以下输出-

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

为此,您必须单独运行这些查询-

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
于 2013-06-28T07:29:26.960 回答
0

获得 AAA 属性的前 5 个值后,您可以使用此查询

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

这将返回 AAA 为“cbs”、“elo”、“npr”、“www”或“fox”的所有行。

于 2013-08-02T08:09:10.067 回答