sql >> データベース >  >> RDS >> Mysql

集計関数を使用してMySQLクエリでグループ化されたレコードの最初と最後のレコードをフェッチするにはどうすればよいですか?

    GROUP_CONCATを使用します およびSUBSTRING_INDEX

    SUBSTRING_INDEX( GROUP_CONCAT(CAST(open AS CHAR) ORDER BY datetime), ',', 1 ) AS open
    SUBSTRING_INDEX( GROUP_CONCAT(CAST(close AS CHAR) ORDER BY datetime DESC), ',', 1 ) AS close 
    

    これにより、コストのかかるサブクエリが回避され、この特定の問題に対しては一般的に効率的であることがわかります。

    両方の関数のマニュアルページをチェックして引数を理解するか、この記事にアクセスして、MySQLでの時間枠変換 詳細については。



    1. T-SQLを使用してSQLServerインスタンスの非推奨機能を一覧表示する方法

    2. ExcelファイルをMySQLデータベースにインポートする方法

    3. SELECTリストがGROUPBY句に含まれておらず、集計されていない列が含まれています.... sql_mode=only_full_group_byと互換性がありません

    4. OracleマージをPostgreSQLへのクエリに変換する必要があります