-2

MAX(bid_ts)ではないデータベース内のすべての行を検索しようとしています。!MAX(bid_ts)を使用できますか、それともこれを行うためのより良い方法がありますか?

$auctionswinning = "
  SELECT 
    listings.end_date, 
    listings.user_id, 
    listings.title, 
    listings.auc_fp, 
    listings.id, 
    listings.auc_image1 
  FROM listings 
  INNER JOIN (
    SELECT
     listing_id, 
     user_id, 
     !MAX(bid_ts) maxDate
    FROM bids
    GROUP BY listing_id, user_id
  ) bids ON listings.id = bids.listing_id
  WHERE 
   bids.user_id=$userid
   AND listings.end_date > NOW()";
4

3 に答える 3

1

これを試して

SELECT 
    listings.end_date, 
    listings.user_id, 
    listings.title, 
    listings.auc_fp, 
    listings.id, 
    listings.auc_image1 
FROM listings 
INNER JOIN (SELECT
                 listing_id, 
                 user_id, 
                 bid_ts maxDate
            FROM bids
            WHERE bid_ts NOT IN (SELECT MAX(bid_ts) FROM bids)
            GROUP BY listing_id, user_id
            ) bids ON listings.id = bids.listing_id
WHERE bids.user_id=$userid
AND listings.end_date > NOW()
于 2012-12-29T05:33:06.493 に答える
0

このためのサブクエリを作成する必要があります:

SELECT bid_ts FROM tbl WHERE bid_ts <> (SELECT MAX(bid_ts) FROM tbl);
于 2012-12-29T00:19:52.493 に答える
-1
SELECT bid_ts
FROM tbl
HAVING bid_ts <> MAX(bid_ts)

私はそれを試したことがないので、HAVINGを避けるのが最善ですが、それで始められるはずです。

于 2012-12-29T00:26:02.353 に答える