在我看来,python 的 boto 不支持 DESC 排序。例如:
conn.create_domain('testing')
dom = conn.get_domain('testing')
dom.put_attributes ('hulk', { 'color': 'green', 'strength' : 90 })
dom.put_attributes ('iron man', { 'color': 'yellow', 'strength' : 50 })
dom.put_attributes ('me', { 'purple': 'blue', 'strength' : 1 })
dom.put_attributes ('superman', { 'color': 'red', 'strength' : 100 })
dom.put_attributes ('captain america', { 'color': 'blue', 'strength' : 10 })
q = dom.select ("select * from testing where strength is not null order by strength desc", consistent_read=True, max_items=1)
for r in q:
print "strongest is " + str(r.name) + " " + r['strength']
conn.delete_domain('testing')
结果是:
strongest is hulk 90
好吧,boto 或 SimpleDB 是由 Marvel 的铁杆粉丝编写的,或者我不理解某些东西,因为这不应该是结果。
现在,如果我将其切换为“按强度排序”,我会得到:
strongest is me 1
因此,如果您上升,似乎排序可以正常工作,但如果您下降,则不能正常工作?
我正在尝试模拟 SQL MAX() 函数的等效项,SimpleDB 的 SELECT 语法不支持该函数。
顺便说一句,实际的数据集,唉,色彩要少得多。