Re: [SQL ] 關於聚合函數,和計算週數的兩個問題

看板Database (資料庫)作者 (ken218)時間5年前 (2019/06/10 20:23), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
本身跟 MSSQL 比較熟,所以用 SQL 回,不過我查過,相對應函數 MySQL 都有,上一篇 有提過了,所以不贅述。這邊針對生日那題回應 SELECT NAME FROM STUDENT CROSS JOIN ( Select Datepart(weekday, GETDATE()) D ) X WHERE DATEADD(year, datediff(year, BIRTHDAY, Getdate()), Birthday) Between convert(date, DATEADD(day, -(iif(d=1,8,d)-2),Getdate()) And dateadd(day,8-(iif(d=1,8,d)), Getdate()) 本來想要單純檢查 Dayofyear, 但是發現閏年有誤差。 Cross join 單純是因為當日的 Datepart 不想打四次 Convert date 因為 Getdate 包含時間,做起始日檢查要切掉時間才可以 ※ 引述《sagwow (不是我)》之銘言: : 資料庫名稱:MySQL : 資料庫版本: : 內容/問題描述: : 大家好,小弟這邊有兩個問題想請教。 : 第一個問題關於聚合函數,我有一個資料表"成績",有三個欄位 課程 學生 分數, : 我想選出每個課程中最高分的人: : select 課程, max(分數) : from 成績 : group by 課程 : 但這樣我只能得到每個課程對應到的最高分,有簡便辦法得到該分數所對應到的學生嗎 ? : 現在我只想得到這種作法: : select 學生 : from 成績 : where (課程, 分數) in (select 課程, max(分數) from 成績 group by 課程) : ========================================================================== : 第二個問題關於生日, : 我有一個資料表"學生資料",裡面有學生的生日(年-月-日), : 如果要判斷學生是否在這週生日要怎麼做呢? : 如果是判斷這個月的話很簡單,但不知道怎麼去判斷生日是否和今天在同一週@@a : 以上兩個問題麻煩大家幫解了,感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 81.128.234.26 (英國) ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1560169400.A.C04.html
文章代碼(AID): #1S_akum4 (Database)
文章代碼(AID): #1S_akum4 (Database)