1

SQLのクエリに問題があります。私が作成する必要のあるクエリは、過去1か月に販売された最も高価な車の詳細を出力することです。

これまでの私のSQLコードは以下のとおりです。

SELECT CarMake, MAX(CFSSellingPrice) AS ['PriceOfCar']
FROM CarForSale
WHERE CFSSoldDate BETWEEN CVDATE('01/02/2013') AND CVDATE('01/03/2013')
GROUP BY CarMake;

私が得ている問題は、複数の車を出力していることと、過去1か月で最も高価な車を正しく生産していないことです。

誰かが私を正しい方向に向けることができたとしても、どんな助けでも大いに感謝されます。

お時間をいただきありがとうございます、

アリン:)

4

5 に答える 5

2

クエリにが含まれcvdate()ているので、MSAccessを使用していると思います。もしそうなら、あなたはtop 1販売された最も高価な車を見つけるために使用することができます:

SELECT  top 1 CarMake
,       CFSSellingPrice
FROM    CarForSale
WHERE   CFSSoldDate BETWEEN CVDATE('01/02/2013') AND CVDATE('01/03/2013')
order by 
        CFSSellingPrice desc
于 2013-03-17T13:25:50.270 に答える
0

Topキーワード を使用

SELECT Top 1 CarMake, MAX(CFSSellingPrice) AS ['PriceOfCar']
    FROM CarForSale
    WHERE CFSSoldDate BETWEEN CVDATE('01/02/2013') AND CVDATE('01/03/2013')
    GROUP BY CarMake;
于 2013-03-17T13:27:21.410 に答える
0

以下をお試しください

SELECT CarMake, MAX(CFSSellingPrice) AS ['PriceOfCar']
FROM CarForSale
WHERE CFSSoldDate BETWEEN CVDATE('01/02/2013') AND CVDATE('01/03/2013');

group byキーワードを使用しないでください..。

于 2013-03-17T13:27:46.313 に答える
0

以下は私にとってはうまくいきました(format()を使用して車と販売をグループ化し、WHERE句でサブクエリを使用します)

月にまたがることができるという追加の利点があります。

SELECT 
  format(cfs.CFSSoldDate,"yyyy mm") AS SoldMonth
, cfs.CarMake
, MAX(CFSSellingPrice) AS PriceOfCar

FROM CarsForSale AS cfs

WHERE 
 cfs.CFSSoldDate BETWEEN #1/1/2013# AND #3/31/2013# 
 AND cfs.CFSSellingPrice = (SELECT 
     max(c.CFSSellingPrice) FROM CarsForSale AS c 
     WHERE format(c.CFSSoldDate, "yyyy mm") = format(cfs.CFSSoldDate, "yyyy mm"))

GROUP BY 
    format(cfs.CFSSoldDate, "yyyy mm"), cfs.CarMake
于 2013-03-20T04:30:22.420 に答える
0

このクエリは、たとえば、販売価格が同じ自動車メーカーで、価格帯の最高価格である自動車メーカーが存在する場合、すべてのレコードを取得します。

SELECT  CarMake, CFSSellingPrice
FROM    CarForSale
WHERE   CFSSellingPrice =
        (
            SELECT  TOP 1 CFSSellingPrice
            FROM    CarForSale
            WHERE   CFSSoldDate BETWEEN CVDATE('01/02/2013') AND 
                    CVDATE('01/03/2013')
            ORDER   BY CFSSellingPrice
        )
于 2013-03-17T13:38:45.473 に答える