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

Hibernateの数式アノテーション-MySql関数:INTERVAL、DAY

    どのMySQL方言を使用していますか?MySqlDialectまたはMySql5Dialectの場合、次のように使用できます。

    SELECT count(history.city_id) FROM history where timediff(now(), history.ts) < '720' and history.city_id = id
    

    または、新しい休止状態関数を定義します

    public class ExtendedMySQL5Dialect extends MySQL5Dialect 
    {
            public ExtendedMySQL5Dialect() 
            {
               super();
               registerFunction( "date_sub_interval", new SQLFunctionTemplate( Hibernate.DATE, "date_sub(?1, INTERVAL ?2 ?3)" ) );
               registerFunction( "date_add_interval", new SQLFunctionTemplate( Hibernate.DATE, "date_add(?1, INTERVAL ?2 ?3)" ) );           
            }
    }
    

    クエリ:

    History.ts < date_sub_interval(now(), 30, DAY)
    


    1. ネストされた選択クエリを使用したMySQLの削除

    2. MySQLクエリが返した行数をカウントするにはどうすればよいですか?

    3. GROUPBY関数を使用して中央の行の値を取得するためのSQLクエリ

    4. テーブルで行サイズを見つける方法