Hi,

The query what you tried will return empty set only, since you have compared the RequestENDDate with now(), which always returns false[due to seconds].
Try extracting the date part alone from RequestENDDate for the Where cond.

otherwise the query do well:

select RequestID, sum(RequestTotal),max(RequestPrice) from test where RequestType='offer' group by RequestID;

Test table:
mysql> select * from t;
+------+--------+------+-------+---------------------+
| id   | idtype | tot  | price | d                   |
+------+--------+------+-------+---------------------+
| 10   | off    | 200  | 14    | 2006-11-06 10:49:36 |
| 10   | off    | 100  | 22    | 2006-11-06 10:49:36 |
| 10   | off    | 120  | 4     | 2006-11-06 10:49:36 |
| 11   | off    | 200  | 14    | 2006-11-06 10:49:36 |
| 11   | off    | 120  | 4     | 2006-11-06 10:49:36 |
| 11   | bi    | 120  | 4     | 2006-11-06 10:49:36 |
| 11   | bi    | 120  | 4     | 2006-11-06 10:49:36 |
+------+--------+------+-------+---------------------+
output:
+------+----------+------------+
| id   | sum(tot) | max(price) |
+------+----------+------------+
| 10   | 420      | 22         |
| 11   | 320      | 14         |
+------+----------+------------+
2 rows in set (0.01 sec)

Thanks,
ViSolve DB Team.
----- Original Message ----- From: "Ahmad Al-Twaijiry" <[EMAIL PROTECTED]>
To: "MySQL List" <mysql@lists.mysql.com>
Sent: Monday, November 06, 2006 8:58 AM
Subject: MAX + SUM in one query


Hi everyone

I have the following the table :

CREATE TABLE `Request` (
 `RequestID` int(10) unsigned NOT NULL auto_increment,
 `Stock_StockID` int(10) unsigned NOT NULL default '0',
 `RequestType` enum('Bid','Offer') NOT NULL default 'Bid',
 `RequestTotal` int(10) unsigned NOT NULL default '0',
 `RequestPrice` float(10,2) NOT NULL default '1.00',
 `RequestENDDate` datetime NOT NULL default '0000-00-00 00:00:00',
 PRIMARY KEY  (`RequestID`,`Customer_CustID`,`Stock_StockID`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8


The data in the table :

RequestID  Stock_StockID  RequestType  RequestTotal  RequestPrice
RequestENDDate
______________________________________________________________________________________
1 10 Offer 2000 300 now() 2 10 Offer 100 300 now() 3 10 Offer 30 10 now() 4 10 Bid 210 100 now() 5 11 Offer 30 10 now() 6 10 Offer 30 10 now() 7 10 Offer 50 30 now()


Now my question is how can I get the MAX(RequestPrice) and the
SUM(RequestTotal) (WHERE MAX(RequestPrice) ) and where
RequestType=Offer for each Stock_StockID

I tried this

SELECT R.Stock_StockID,MAX(R.RequestPrice), SUM(R.RequestTotal) FROM
Request R WHERE  R.RequestType='Offer'  AND
R.RequestENDDate>=Date(now()) GROUP BY R.Stock_StockID

but it doesn't work.

Anyone know how to do it ?


Thanks

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to