我有一個簡單的表來保持網站訪問者數量的計數。在mysql中選擇缺省行的默認值
|Day|Visitors|
|1 |2 |
|2 |5 |
|4 |1 |
我想選擇每天遊客爲1天到4的數,但我也想,已有3天缺少3天的值,我不知道是否有可能選擇的所有整數一個範圍,如果該列丟失,則會返回一個默認值。一個簡單的「SELECT訪客從表WHERE日=> 1和日< = 4 ORDER按天」查詢將返回「2,5,1」,但我正在查找的查詢將返回「2,5,0,1 」。
我有一個簡單的表來保持網站訪問者數量的計數。在mysql中選擇缺省行的默認值
|Day|Visitors|
|1 |2 |
|2 |5 |
|4 |1 |
我想選擇每天遊客爲1天到4的數,但我也想,已有3天缺少3天的值,我不知道是否有可能選擇的所有整數一個範圍,如果該列丟失,則會返回一個默認值。一個簡單的「SELECT訪客從表WHERE日=> 1和日< = 4 ORDER按天」查詢將返回「2,5,1」,但我正在查找的查詢將返回「2,5,0,1 」。
這裏的腳本語言的力量是爲您的數據爲例:
select n.n as days, coalesce(visitors, 0) as visitors
from (select 1 as n union all select 2 union all select 3 union all select 4
) n left outer join
t
on t.days = n.n;
你需要填寫n
子查詢中的所有天數。也許你有另一張有連續數字的表格,可以幫助解決這個問題和其他查詢。
使用您正在使用的網站,查看失蹤days
,並顯示0
那些日子
數據的這種轉變將是很容易做到的消耗查詢結果的程序。我會這樣做,或者插入缺失日期的記錄,並將它們的值設置爲零。 –