求一个SQL语句!

[复制链接]
查看11 | 回复4 | 2008-7-3 10:57:19 | 显示全部楼层 |阅读模式
select * from unionvisitlog where
有一张表,其中部分字段如下:ID,IP,UnID,InOut,Type
其中,InOut表示进站或出站;Type表示记录的类型,估且叫它类型1,类型2。
比如我想在想查出,Type=类型1,InOut=进站,按UnID记录数的多少,从大于小的排序结果。
比如说现在表中有如下记录:
ID UnID IP InOut Type
1 4.. 11
2 8.. 11
3 4.. 11
4 10.. 11
5 4.. 11
6 10.. 11
查出的结果应该是
4
10
8
谢谢大家,用分组查询可以完成我的须求。
现在我得到了按UnID记录数的多少从大到小的排序结果。
但是这个UnID是引用另一个表中的ID,我能否一起查出这个ID相对应的字段。
分多条语句也可以。
是不是要用到子查询呀,麻烦大家了,解决问题必有重谢。

回复

使用道具 举报

千问 | 2008-7-3 10:57:19 | 显示全部楼层
"按UnID记录数的多少,从大于小的排序结果"不明白你的这句话从大到小排 -降序select * from unionvisitlog where type='类型1',inOut='进站'order by UnID DESC从小到大排-升序select * from unionvisitlog where type='类型1',inOut='进站'order by UnID
回复

使用道具 举报

千问 | 2008-7-3 10:57:19 | 显示全部楼层
select * from unionvisitlog where Type='类型1' and InOut='进站' order by UnID descType='类型1' 说明 Type是字符型;如果是数值型就要用:Type="类型1"
回复

使用道具 举报

千问 | 2008-7-3 10:57:19 | 显示全部楼层
select unid, count(1) c from unionvisitlog where type = 1 and inout = '进站' group by unid order by c desc
回复

使用道具 举报

千问 | 2008-7-3 10:57:19 | 显示全部楼层
SELECT UNID FROM TABLEWHERE TYPE=1 AND INOUT='进站'GROUP BY UNIDORDER BY COUNT(ID) DESC
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行