我有一个产品部分的表格。如何获取最小和最大请求的时间?
__________________________________
| SECTION| PRICE | TIME |
|--------------------------------|
| sec1 | 10 | 06-12-17 12:00|
| sec2 | 20 | 06-12-17 12:01|
| sec1 | 20 | 06-12-17 12:02|
| sec1 | 30 | 06-12-17 12:03|
| sec2 | 30 | 06-12-17 12:04|
----------------------------------
我需要每个部分的最小值,最大值和平均值。我做的。
SELECT MAX(PRICE), MIN(PRICE), AVG(PRICE) FROM table1 GROUP BY SECTION;
我还需要有最低和最高价格的销售时间。如果最大的销售是在不同的时间,我需要其中任何一个。如何把它放在一张桌子上?
___________________________________________________________
| SECTION| MIN | MAX | AVG | TIME OF MAX | TIME OF MIN |
|----------------------------------------------------------|
| sec1 | 10 | 30 | 20 | 06-12-17 12:03 |06-12-17 12:00|
| sec2 | 20 | 30 | 25 | 06-12-17 12:04 |06-12-17 12:01|
-----------------------------------------------------------
如果在最后一个查询中添加“maxt不为空或mint不为空”,它可能会更快一点(在我的测试中大约有两次)。 – Abelisto
true - 过滤器应该更加丰富 - 谢谢! –
PS:http://dbfiddle.uk/?rdbms=postgres_9.5&fiddle=b5fcf4bf9e7206c78f16a22bb0b1f0ae – Abelisto