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

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

    クエリ結果の合計行数を取得しています...

    結果を繰り返して数えることができます。使用している言語やクライアントライブラリはわかりませんが、APIは mysql_num_rows 結果の行数を知ることができる関数。

    これは、たとえば、mysqli_num_rows> 働き。 PHPを使用していることを示すために質問を編集したので、mysqli関数を使用した簡単な例を次に示します。

    $link = mysqli_connect("localhost", "user", "password", "database");
    
    $result = mysqli_query($link, "SELECT * FROM table1");
    $num_rows = mysqli_num_rows($result);
    
    echo "$num_rows Rows\n";
    

    いくつかの基準に一致する行の数を取得しています...

    COUNT(*)を使用するだけです-行のカウント> MySQLマニュアルで。例:

    SELECT COUNT(*) FROM foo WHERE bar= 'value';
    

    LIMITが使用されている場合に合計行を取得します...

    LIMIT句を使用したが、それなしで取得できる行数を知りたい場合は、 SQL_CALC_FOUND_ROWS クエリでSELECT FOUND_ROWS( );

    SELECT SQL_CALC_FOUND_ROWS * FROM foo
       WHERE bar="value" 
       LIMIT 10;
    
    SELECT FOUND_ROWS();
    

    非常に大きなテーブルの場合、これは特に効率的ではありません。クエリを実行してデータのページを取得する前に、単純なクエリを実行してカウントを取得し、それをキャッシュすることをお勧めします。



    1. SQL Server(T-SQL)で月番号を月名に変換する

    2. PostgreSQLとApacheSparkを使用したビッグデータ

    3. MySQLサーバーのInnoDBバッファープールサイズの計算

    4. AndroidでListViewを使用してSQLiteデータベースを読み取って更新する方法は?