私はjavascriptとnodejsの初心者で、mysqlの知識があまりありません。これらは、名前が次のMySQLテーブルの列名ですcars:
- 名前
- モデル
- 伝送タイプ
- エンジンの大きさ
- 車両サイズ
- ボディタイプ
からとをランダムに選択Nameしたいのですが、カテゴリは、他の 4 つの列によって決定されるものと一致する必要があります。出力は 2 行のみにする必要があります。modelcarsTransmissionTypeEngineSizeVehicleSizeBody TypeengineTransmissionTypeVehicheSizeBodyType
エンジンのサイズには次の値があります。3.2, 3.5, 1.6, 5.2, 2.0, 2.2
TransmissionType には次の値がありますManual。Automatic
VehicleSize の値はCompact、 、MidSizeおよびLargeです。
BodyType の値はCar、 、vanおよびtruckです。
これを達成するには、どのようなクエリを作成する必要がありますか? 助けてください。
私はこれを行い、クエリは正常に動作していますが、実行中のサブクエリが多すぎます.2-3 デンのサブクエリを使用しないでこれを達成することは可能ですか?
SELECT Name, model
FROM cars
WHERE EngineSize IN (SELECT * FROM (SELECT EngineSize FROM cars ORDER BY RAND( ) LIMIT 1 ) AS A)
AND TransmissionType IN (SELECT * FROM (SELECT TransmissionType FROM cars ORDER BY RAND( ) LIMIT 1 ) AS B)
AND BodyType IN (SELECT * FROM (SELECT BodyType FROM cars ORDER BY RAND( ) LIMIT 1 ) AS C)
AND VehicleSize IN (SELECT * FROM (SELECT VehicleSize` FROM cars ORDER BY RAND( ) LIMIT 1 ) AS D)
LIMIT 2