77491


Javaでローカルでデータベースを立ち上げ、name num
priceの三つの項目が入っているTestテーブルがあるとして、このテーブルから`num*price`の売上金額が一番多いもののnameを取り出したいのですが、`num*price`の売上金額が同額で一番多いものが二つ以上ある場合には、その二つを取り出せるようにしたいです。これはSQL文だけで実行可能でしょうか。それともJavaのプログラムで実行することしかできないでしょうか。SQLで実行可能な場合はどのような書き方になるか教えていただきたいです。


CC BY-SA 4.0
2021-06-11T11:39:11.950
77490
2021-06-12T12:52:52.563
2021-06-12T12:52:52.563
2808
41769
question
java sql
Javaでのデータベース操作のSQL文の書き方


metropolis さんのコメントより、テーブル名を goods だとして、以下の通り実行することで実現できました。

[code]

    SELECT name FROM goods WHERE (num*price) = (SELECT MAX(num*price) FROM goods);
    
[/code]


CC BY-SA 4.0
2021-06-11T12:55:49.567
77491
2021-06-11T16:51:32.333
2021-06-11T16:51:32.333
3060
41769
77490
answer