在我看来,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都是由铁杆漫威粉丝编写的,或者我不理解某些东西,因为这不应该是结果。
现在,如果我将其切换为“按力量排序asc”,我得到:
strongest is me 1
因此,如果你提升,排序似乎正常,但如果你下降,则排序不正确吗?
我正在尝试模拟SQL MAX()函数的等价物,而SimpleDB的SELECT语法不支持。
顺便说一句,唉,实际数据集的颜色要少得多。