2016-03-22 11 views
1

私はlumiaという名前のデータベースを持っていて、そのデータベースの中に私は現在の日付で更新されるいくつかのテーブルを持っています&リンクが起動される時。私は最後にmysqlダンプファイルのリンクを与えました。希望のフォーマットとテーブルのMysqlデータ

私は次の形式でデータが必要: - プレイ列がblr_play_dtの行の数が含まれており、カラムがblr_skip_dtの行の数が含まれていますので、上とTCはBLRが含まれていますスキップしますする

+----------+------------+----------+ 
| TC  |  Play | Skip | 
+----------+------------+----------+ 
| blr  |  132 | 33 | 
| Chen  |  133 | 3  | 
+----------+------------+----------+ 

SELECT 
    'blr_play' AS table_label, 
    COUNT(*) AS table_size 
FROM 
    blr_play 
UNION 
    SELECT 
     'blr_skip' AS table_label, 

     COUNT(*) AS table_size 
    FROM 
     blr_skip 

が、この

+----------+------------+ 
| TC  | table_size | 
+----------+------------+ 
| blr_play |  132 | 
| blr_skip |   33 | 
| chen_play|  124 | 
| chen_skip|   2 | 
+----------+------------+ 
のようなその与える結果 - :、陳ので、私は、次のmysqlのクエリを持っていますの10

と私は、この形式では、上記のデータが欲しい: - SQLダンプ・ファイルの

+----------+------------+----------+ 
| TC  |  Play | Skip | 
+----------+------------+----------+ 
| blr  |  132 | 33 | 
| Chen  |  124 | 2  | 
+----------+------------+----------+ 

リンク: - あなたは、サブクエリでこれを行うことができますhttps://www.mediafire.com/?444n3tvcvj24dpm

答えて

2

SELECT 
     'blr' AS table_label, 
     COUNT(*) AS playCnt, 
     (select count(*) from blr_skip) as skipCnt 
FROM blr_play 

TCごとにテーブルがあるようですね。これも陳用:

SELECT 
     'blr' AS table_label, 
     COUNT(*) AS playCnt, 
     (select count(*) from blr_skip) as skipCnt 
FROM blr_play 
UNION ALL 
SELECT 
     'Chen' AS table_label, 
     COUNT(*) AS playCnt, 
     (select count(*) from Chen_skip) as skipCnt 
FROM Chen_play 

EDIT: -

SELECT 
     'blr' AS table_label, 
     COUNT(CASE WHEN YourColumn ='2016-03-19' then 1 end) AS playCnt, 
     (select count(CASE WHEN YourColumn ='2016-03-19' then 1 end) from blr_skip) as skipCnt 
FROM blr_play 

それは実際には同じものだけで結果をフィルタリングして(より良い実行されます)

SELECT 
     'blr' AS table_label, 
     COUNT(*) AS playCnt, 
     (select count(*) from blr_skip WHERE YourColumn ='2016-03-19') as skipCnt 
FROM blr_play 
WHERE YourColumn ='2016-03-19' 
あなたは条件付き集約を探しているように聞こえます
+0

本当にありがとう、もう1つのことは、私は "2016-03-19"を持っている行を数えたいのと同じように日付にフィルターをかけたいのです。 –

+0

@sonadas私は答えを更新しました。もしあなたが助けてくれれば承認に感謝します。 – sagi

+0

ありがとうあなたの助けに感謝します。あなたは人生の節約者です。私は必要に応じて動作しますが、なぜなら私は他のテーブルもUNIONする必要があるからです。 –

関連する問題