タグ付けされた質問 「count」

COUNT:行数をカウントするために使用される集約SQL関数。

1
Postgres:count(*)とcount(id)
私が見た中でのドキュメントの違いをcount(*)してcount(pk)。の存在を知らないままcount(pk)(pkはSERIAL PRIMARY KEY)を使用していたcount(*)。 私の質問はPostgresの内部最適化についてです。SERIAL PRIMARY KEYすべての行にa が存在し、偽になることはなく、行をカウントするだけであることをピックアップするのに十分スマートですか?それとも各行に対して冗長な述語チェックを行いますか?これはおそらく無意味な最適化では多すぎると私は同意しますが、私は興味があるだけです。 私はの出力で見ていたEXPLAINとEXPLAIN VERBOSEのためにcount(*)、count(id)そしてcount(id > 50)かどうかを確認するためにEXPLAIN、その出力に述語をチェック述べました。そうではありません。

3
1つのクエリで複数のカウントを行う方法は?
次のようなクエリでレコードを数えます SELECT COUNT(col1) FROM table1 WHERE col1 LIKE '%something%' SELECT COUNT(col1) FROM table1 WHERE col1 LIKE '%another%' SELECT COUNT(col1) FROM table1 WHERE col1 LIKE '%word%' カウントごとに、mysqlはテーブル全体をウォークスルーする必要があり、これは長いテーブルと多数のクエリがある場合の大きな問題です。 1つのクエリですべてのカウントを行う方法はあるのでしょうか。この場合、mysqlが各行をウォークスルーすると、すべてのカウントが処理されるため、テーブル全体を何度もスキャンする必要がありません。


4
mysql innodbデータベースのテーブル名+各テーブルのレコード数を表示する
現在のデータベース内のすべてのテーブルを、テーブルの行数とともにリストする方法。 言い換えれば、mysqlでこのようなものを作成するクエリを考えることができますか? +------------------------++------------------------+ | Tables_in_database | Number of rows | +------------------------++------------------------+ | database 1 | 1000 | | database 2 | 1500 | +------------------------++------------------------+ さまざまなアプローチを歓迎します。
10 mysql  innodb  select  count 

3
列のnull値と非null値をカウントする
MySQLの同じ列でnullとnot nullをカウントして取得する方法は? mytable --------------------------------------------------- id | name | visited | registDate | --------------------------------------------------- 1 | george | NULL | 2014-04-01 | --------------------------------------------------- 2 | Thomas | NULL | 2014-04-15 | --------------------------------------------------- 3 | Wilfred | 1 | 2014-04-24 | --------------------------------------------------- 4 | paul | 1 | 2014-04-10 | --------------------------------------------------- 5 …
10 mysql  count  null 

1
SELECT COUNT()クエリ実行プランに左結合テーブルが含まれているのはなぜですか?
SQL Server 2012では、別のテーブルに結合するテーブル値関数があり、この「テーブル値関数」の行数をカウントする必要があります。実行プランを調べると、左側の結合テーブルが表示されています。どうして?左結合テーブルは、返される行数にどのように影響しますか?私は、dbエンジンがSELECT count(..)クエリで左結合テーブルを評価する必要がないことを期待します。 Select count(realtyId) FROM [dbo].[GetFilteredRealtyFulltext]('"praha"') 実行計画: テーブル値関数: CREATE FUNCTION [dbo].[GetFilteredRealtyFulltext] (@criteria nvarchar(4000)) RETURNS TABLE AS RETURN (SELECT realty.Id AS realtyId, realty.OwnerId, realty.Caption AS realtyCaption, realty.BusinessCategory, realty.Created, realty.LastChanged, realty.LastChangedType, realty.Price, realty.Pricing, realty.PriceCurrency, realty.PriceNote, realty.PricePlus, realty.OfferState, realty.OrderCode, realty.PublishAddress, realty.PublishMap, realty.AreaLand, realty.AreaCover, realty.AreaFloor, realty.Views, realty.TopPoints, realty.Radius, COALESCE(realty.Wgs84X, ruian_cobce.Wgs84X, ruian_obec.Wgs84X) as …

4
SQLカウントクエリを高速化できるものは何ですか?
カウント(集計)SQLクエリを実行する場合、これら3つのデータベースシステムで実行時間を短縮できるものは何ですか?スピードアップできるものはたくさんあると思いますが(ハードウェアは1つです)、私は初心者のDBAなので、ここでいくつかの回答を得られると確信しています。約1億5700万行をSQL​​ Serverデータベースに移行しましたが、このクエリは永遠にかかります。しかし、私のソースのNetezzaデータベースでは、数秒かかります。 例えば: Netezza 6: SELECT COUNT(*) FROM DATABASENAME..MYTABLE Oracle 11g: SELECT COUNT(*) FROM MYTABLE SQL Server 2012: SELECT COUNT(*) FROM DATABASENAME.[dbo].[MYTABLE]

3
LIMITで行数をCOUNTする方法は?
X行をキャッチしたいので、を設定しLIMIT Xます。しかし、行の総数も同時に数えるにはどうすればよいですか? 現在、私は2つの別々のクエリを使用してそうしています SELECT COUNT(*) FROM col WHERE CLAUSE SELECT * FROM col WHERE CLAUSE LIMIT X これを1つのクエリで行う方法はありますか? 編集:出力はcolセルと行数でなければなりません。実際、colセルを選択した後は、テーブルの上を歩いて数えるだけです。 最初の行は1行を返し、2番目のX行を返すため、これら2つのクエリをマージすることはできません。が存在する場合にmysqlに行数を返す関数があるかどうか、私は興味がありLIMITます。

2
使用されていないがクエリに影響を与えるインデックス
いくつかの数値といくつかの追加データを含むPostgreSQL 9.3テーブルがあります。 CREATE TABLE mytable ( myid BIGINT, somedata BYTEA ) このテーブルには現在約1,000万のレコードがあり、1GBのディスク容量を使用します。myid連続していません。 100000の連続番号の各ブロックにある行の数を計算したいと思います。 SELECT myid/100000 AS block, count(*) AS total FROM mytable GROUP BY myid/100000; これは約3500行を返します。 クエリプランでまったく言及されていなくても、特定のインデックスが存在すると、このクエリが大幅に高速化されることに気づきました。インデックスなしのクエリプラン: db=> EXPLAIN (ANALYZE TRUE, VERBOSE TRUE) SELECT myid/100000 AS block, count(*) AS total FROM mytable GROUP BY myid/100000; QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------- GroupAggregate (cost=1636639.92..1709958.65 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.