2017-06-12 9 views
-1

テーブルの合計行を取得する方法を質問したいですか?カウントで合計行を取得するには?

私はこのようなテーブルがある場合:

Img1

それすべての作品を。

しかし、私は2列を持つテーブルがある場合:

Img2

をし、合計が5

になり、私はちょうど私の第二の画像のように、合計を取得する方法にしたいですか? 2番目のクエリには、事前

+0

テクスチャ的にあなたの質問? –

答えて

1

私のオリジナルの答えを、動作しますが、あなたは、テーブル全体のためだけの数を取得するためにグルーピング・セットを使用する方法を示しています。あなたがそのままあなたの期待出力をしたい場合は、唯一のオプションは、このようなユニオンクエリがあります。これは、demoで次の出力ました

SELECT 
    COALESCE(t.id, 'total') AS id, 
    t.item 
FROM 
(
    SELECT CONVERT(varchar(10), id) AS id, item 
    FROM cte 
    UNION ALL 
    SELECT null, CONVERT(varchar(10), COUNT(*)) 
    FROM cte 
) t 
ORDER BY CASE WHEN t.id IS NOT NULL THEN 0 ELSE 1 END; 

enter image description here

をまた、グループ化を使用して試すことができますあなたが唯一たい場合は、合計を含む行セット:

SELECT 
    id, 
    COALESCE(item, 'total') AS item, 
    COUNT(*) AS item_count 
FROM yourTable 
GROUP BY 
    GROUPING SETS((id, item),()); 

がセットにグループ化は、おそらく、より強力で、ユニオンクエリよりもこの種の情報を柔軟に含めることができます。

出力:ここ

enter image description here

デモ:誰が未検証のリンクをクリックせずに自分の画像を見ることができない、あなたが記述することができない理由がある

Rextester

+0

助けていただきありがとうございます。 あなたの答えは私の最初のテーブルのように... 私はアイテム名の下に合計を取得し、item_countテーブルを消すことができますか?私はそのフィールドを必要としないので –

+0

@MochammadHelmi私は自分の答えを更新しました。 –

+0

ありがとう、それは仕事です! –

0
SELECT COUNT(*) FROM tablename 

SELECT COUNT(columnname) FROM tablename 

おかげで、あなたがテーブルからカウントしたい列名を書きます。

0
SELECT COUNT (*) FROM TABLE_NAME 

それはあなたのために、私は以下の左

関連する問題