select uname from orderly_allsearch group by uname为什么不能写成 select * from orderly_allsearch group by uname
有一个打卡表 内容大概如下
uname dates moning moon afternoon atnight
a 2010-5-1 09:00:00 12:05:00 13:25:00 18:05:00
b 2010-5-1 09:00:00 12:05:00 13:25:00 18:05:00
c 2010-5-1 09:00:00 12:05:00 13:25:00 18:05:00
a 2010-5-2 09:00:00 12:05:00 13:25:00 18:05:00
b 2010-5-2 09:00:00 12:05:00 13:25:00 18:05:00
c 2010-5-2 09:00:00 12:05:00 13:25:00 18:05:00
我想得到的结果是按姓名来排 也就是结果集先全部是a 再是b 再c
sql语句应该怎么写
最后 再推荐本sql学习的书吧 基本的应用我会 到麻烦的就写出不来
谢谢了
?
排序就可以
1.select * from orderly_allsearch group by uname
不能這樣寫,具體估計你要看看分組的用法
2.打卡表
select * from 打卡表 order by uname
這樣就可以了,達到了排序要求
3.書籍
推薦先看SQL入門或SQL深入淺出
中後期推薦SQL3本技術內幕
何来的group by
(
uname varchar(20),
dates datetime,
moning nvarchar(8),
moon nvarchar(8),
afternoon nvarchar(8),
atnight nvarchar(8),
)
insert into #TT1 select 'a','2010-5-1','09:00:00','12:05:00','13:25:00','18:05:00'
union all
select 'b','2010-5-1','09:00:00','12:05:00','13:25:00','18:05:00'
union all
select 'c','2010-5-1','09:00:00','12:05:00','13:25:00','18:05:00'
union all
select 'a','2010-5-2','09:00:00','12:05:00','13:25:00','18:05:00'
union all
select 'b','2010-5-2','09:00:00','12:05:00','13:25:00','18:05:00'
union all
select 'c','2010-5-2','09:00:00','12:05:00','13:25:00','18:05:00'select * from #TT1
order by
(
case when uname='a' then 1
else
case when uname='b' then 2
else
case when uname='c' then 3
else 4 end
end
end
)uname dates moning moon afternoon atnight
-------------------- ----------------------- -------- -------- --------- --------
a 2010-05-01 00:00:00.000 09:00:00 12:05:00 13:25:00 18:05:00
a 2010-05-02 00:00:00.000 09:00:00 12:05:00 13:25:00 18:05:00
b 2010-05-02 00:00:00.000 09:00:00 12:05:00 13:25:00 18:05:00
b 2010-05-01 00:00:00.000 09:00:00 12:05:00 13:25:00 18:05:00
c 2010-05-01 00:00:00.000 09:00:00 12:05:00 13:25:00 18:05:00
c 2010-05-02 00:00:00.000 09:00:00 12:05:00 13:25:00 18:05:00(6 行受影响)
这点很重要
select * from orderly_allsearch order by uname,dates
用了星号,再用group by就要在group by 后面把表中所有的列都列出来,并用逗号隔开
select uname,count(字段a) from orderly_allsearch group by uname