UI設計したり、ウェブシステムを開発したりします。 

SQL見るだけクエリ#026 グループ分けしつつ指定カラムが一番小さいレコードのみ取得する方法

記入日:2023-02-03 編集日:2023-02-03

SQL見るだけクエリ。今日はデータをROUP BYを使ってグループ化する際に、同一グーループ内の 最小のレコードのみを取得するSQLを考えてみようと思います。

以下の様なコードで実現可能です。

SELECT MIN(カラム名) FROM テーブル名 GROUP BY グループカラム ORDER BY カラム名 ASC;

具体的な例

productテーブルの同一カテゴリの最安商品を取得してみます。

productテーブル

id | category | price
-- | -------- | -----
1  | shoes    | 10
2  | clothes  | 20
3  | shoes    | 30
4  | clothes  | 40

SELECT MIN(price) FROM products 
GROUP BY category ORDER BY price ASC;

結果は

category | price
-------- | -----
shoes    | 10
clothes  | 20

となります。

SQLの使いどころ

サイトに大量の情報を掲載することは、ユーザーにとってとても便利なことです。しかし、情報が多すぎると、目的の情報を見つけるのが困難になります。そのため、SQLを使用することで、情報を効率的に管理することができます。

SQLを使用することで、データベース内の情報を検索したり、フィルタリングしたりすることができます。これにより、ユーザーは目的の情報をスムーズかつ簡単に見つけることができます。

また、SQLを使用することで、データを集計したり、統合したりすることもできます。これにより、ユーザーはさまざまな視点から情報を分析することができます。つまり、サイトに多くの情報を掲載することが重要である一方で、その情報を効率的かつ簡単に管理することが求められる場合には、SQLが不可欠であるといえます。

KK

機械工学を専攻。工業デザイナーとして、国内及び海外の自動車・搬送ラインの設計などに従事した後、2003年にウェブシステム会社を設立。UI設計やウェブシステムの開発、DX化のディレクションなどを行っています。