选择MIN和MAX并进行比较

时间:2012-06-13 14:41:47

标签: mysql

我有一个包含列id,sellprice,buyprice和date

的表
id  sellprice   buyprice    date
1   15      17      2012-6-10 10:21:09
2   18      20      2012-6-10 10:23:34
3   22      24      2012-6-10 10:24:21
4   19      21      2012-6-10 10:25:23
5   17      20      2012-6-10 10:29:34
6   16      19      2012-6-10 10:31:43
7   15      17      2012-6-10 10:34:51
8   16      21      2012-6-10 10:36:13
9   21      23      2012-6-10 10:39:21

我想选择MIN buyprice和MAX sellprice;如果最大卖出价格是在最低限度买入之后,那么我想比较得到我赚多少钱 - 比如我从 17 买入然后卖掉它 22 。正如您在表中看到的,最小值和最大值可能会出现几次。如何查询以获得我想要的结果。

我正在尝试的查询存在一些问题。如果我在WHERE子句中使用date限制,我会得到“Subquery返回超过1行”的警告并且没有任何反应

$minmax_query="SELECT 
MAX(sellprice) AS maxprice,
(SELECT id FROM $table WHERE sellprice = max(t2.sellprice)   ) as maxId,

MIN(buyprice) AS minprice,
(SELECT id FROM $table   WHERE buyprice = min(t2.buyprice)    ) as minId
FROM $table   t2 WHERE DATE(date) = '2012-06-10'

0 个答案:

没有答案