我想运行此查询:PostgreSQL的DISTINCT与不同的ORDER BY
SELECT DISTINCT ON (address_id) purchases.address_id, purchases.*
FROM purchases
WHERE purchases.product_id = 1
ORDER BY purchases.purchased_at DESC
但我得到这个错误:
PG::Error: ERROR: SELECT DISTINCT ON expressions must match initial ORDER BY expressions
添加address_id
为第一ORDER BY
表达沉默的错误,但我真的不想在address_id
上添加排序。没有address_id
订购可以吗?
您的订单子句purchased_at不address_id.Can你让你的问题清楚。 – Teja 2012-03-20 22:01:46
我的订单有购买,因为我想要它,但postgres还要求地址(请参阅错误消息)。 – 2012-03-20 22:03:50
完全解答在这里 - http://stackoverflow.com/questions/9796078/selecting-rows-ordered-by-some-column-and-disctincton-another 感谢http://stackoverflow.com/users/ 268273/mosty-mostacho – 2012-12-21 23:40:39