Mysql
每天總飲酒量列
嘗試選擇一個表格,其中有一個列,其中客戶每天訂購的總飲料數由日期和飲料數量計算。例如。克勞德在 2020-1-12 共訂購了 10 杯飲料
drinker | odate | total_drinks Claude | 2020-01-12 | 10 Claude | 2020-01-15 | 3
我如何壓縮我目前的陳述
不清楚。
表示什麼
drink_no
?你不應該試圖保持一個人在某一天喝了多少酒的“執行計數”。相反,只需儲存他們已經喝了另一種飲料,然後讓您的查詢進行“加起來”:
select drinker , odate , count( odate ) total from table1 group by drinker, odate order by drinker, odate ; +---------+------------+-------+ | drinker | odate | total | +---------+------------+-------+ | Claude | 2020-01-12 | 4 | | Claude | 2020-01-15 | 2 | | Claude | 2020-01-19 | 1 | | Claude | 2020-04-04 | 1 | | Claude | 2020-04-05 | 1 | | Claude | 2020-04-12 | 1 | | Claude | 2020-04-15 | 1 | | Claude | 2020-04-16 | 1 | | Claude | 2020-04-17 | 1 | | Claude | 2020-04-18 | 1 | | Claude | 2020-04-19 | 1 | | Claude | 2020-04-20 | 1 | +---------+------------+-------+
另外,請告訴我 odate 是一個實際的日期數據類型。
永遠不要將 Date 值儲存在其他任何東西中。這樣做會使日期操作變得更加困難,並且可能會慢得多。