簡體   English   中英

Mysql中的子查詢

[英]Subquery in Mysql

我正在嘗試統計數據庫中的用戶登錄,問題是按日期統計uniq登錄。 問題是,用戶一天可以多次登錄。

例如表Student StudentID

小時類型ID =學生ID,日期,時間123、2014-11-11、00:11:00 123、2014-11-11、00:15:00 123、2014-11-11、00:16:00等

我正在嘗試使用此查詢...

    select count(*) from (
select '1' from Students s LEFT JOIN Hours h on s.StudentID = h.TypeID
where s.StudentID = stud.StudentID
group by h.Date) tmp, Student stud
where s.LastName = 'TestUser'

但是子查詢顯示錯誤:未知列stud.StudentID

錯誤非常清楚,“ stud”別名中不存在列StudentID。 您將別名定義為“ s”。 也許是這樣的:

select count(*) from (
    select '1' from Students s 
    LEFT JOIN Hours h on s.StudentID = h.TypeID
    where s.StudentID = h.StudentID
    group by h.Date
) tmp

但這不會生效,因為您尚未選擇任何內容。

, Student s
where s.LastName = 'TestUser'

但是我認為仍然沒有功能。 你想做什么?

試試這個:

Select h.Date, Count(Distinct TypeID) as tot
From [Hours] as h
Left Join Students s
    On s.StudentID = h.TypeID
where s.LastName = 'TestUser'
Group By h.Date

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM