1

SQLFire を使用しています。私は割り当てを行っていますが、割り当てを開始するときに、特定の値を返すことができないことに気付きました。この SQL Fiddle を参照してください。割り当てで使用しているテーブルに正確なデータが含まれており、試した SQL ステートメントが含まれています。フィドル: http://sqlfiddle.com/#!2/e761ac/1

私が出力したいのは:

Rate | RentalCode
-----------------
350  |    WL

コードを SQL Fire に入力すると、このエラーが発生します。 エラーメッセージ

ORDER BY 句を使用しないように言われましたが、'LIMIT' を学習していません。

ありがとうございました

4

3 に答える 3

2

GROUP BY句に非集計列があるため、SELECT句が必要です

SELECT MIN(Rate), Rentalcode
FROM RentalRates 
GROUP BY Rentalcode

アップデート

最低レートを取得したいので、最低レートORDER BY - LIMITを持つ複数のレコードをサポートするため、これを使用するよりも良い方法だと思います。

SELECT *
FROM RentalRates
WHERE rate = (SELECT MIN(rate) FROM rentalrates)
于 2013-08-20T05:40:51.570 に答える
0

ご覧のとおり、SQLfiddle でも結果は非常に奇妙です。あるレコードから RentalCode を取得し、別のレコードから Rate を取得しています。
グループ化せずにテーブルから集計を選択するのは MySQL 構文であり、ANSI ではありません。最小レートでレコードを取得する場合は、次のクエリを実行します。

select * from RentalRates order by Rate limit 1

SQL フィドルのデモ

于 2013-08-20T05:48:42.493 に答える