這是網友的問題,我當時立馬給出了自己的解決方案,但是沒有想到中間有點小問題,發現後經過自己仔細除錯,完全得到正確結果後,那個網友已經結帖了。我的**遂成為雞肋,食之無味,棄之可惜。但是我覺得我的**確實還是挺經典的,所以整理了一下,供各位網友欣賞。
問題:假設環境如下:
表1: id,name, , phone,
表中資料: 1 秦雲 1010280013500000
2 在路上 10378 13600000
3 leo 10000 13900000
表2: id,name, 上機時間,管理員,
表中資料: 1 秦雲 2004-1-1 李大偉
2 秦雲 2005-1-1 馬化騰
3 在路上 2005-1-1 馬化騰
4 秦雲 2005-1-1 李大偉
5 在路上2005-1-1 李大偉
實現目的:從表1中取所有人員列表,從表2中取上機次數和管理員.
上機人員名單 上機次數 管理員(上這幾次機的每個管理員都列出來)
秦雲 3 李大偉,馬化騰,李大偉
在路上 2 馬化騰,李大偉
leo 0
如果不算管理員那一列的話,我是這樣寫的。
select 表1.nameas姓名,count(表2.id)as上機次數
from 表1leftouterjoin
表2on表1.name=表2.name
groupby表1.名稱
解答:測試用例
createtable表1(--droptable表1
id int,
name varchar(10),
經典SQL自定義函式
1 確定某年某月有多少天 實現原理 先利用datediff取得當前月的第一天,再將月份加一取得下月第一天,然後減去1分鐘,再取日期的 天數部分,即為當月最大日期,也即當月天數 create function daysinmonth date datetime returns int asbegin ...
經典SQL自定義函式
1 確定某年某月有多少天 實現原理 先利用datediff取得當前月的第一天,再將月份加一取得下月第一天,然後減去1分鐘,再取日期的 天數部分,即為當月最大日期,也即當月天數 create function daysinmonth date datetime returns int asbegin ...
經典SQL自定義函式
1 確定某年某月有多少天 實現原理 先利用datediff取得當前月的第一天,再將月份加一取得下月第一天,然後減去1分鐘,再取日期的 天數部分,即為當月最大日期,也即當月天數 create function daysinmonth date datetime returns int asbegin ...