面試比較常問的sql問題,sql server2005,oracle有比較好的處理方式有待以後總結下
下面是mysql下的測試查詢memo分類,日期最新的前兩條資料,不論dateline欄位是varchar
還是int,datetime型別都可以直接比較大小排序
表如下create table `table1` (
`id` int(10) unsigned not null auto_increment,
`name` varchar(4000) not null,
`memo` varchar(5000) not null,
`dateline` varchar(10) default null,
primary key (`id`)
) engine=innodb auto_increment=10 default charset=utf8;
insert into `table1`(`id`,`name`,`memo`,`dateline`) values (1,'a1','a','2010-11-01'),(2,'a2','a','2010-11-02'),(3,'a3','a','2010-11-03'),(4,'c1','c','2010-11-01'),(5,'c2','c','2010-11-02'),(6,'c3','c','2010-11-03'),(7,'b1','b','2010-11-01'),(8,'b2','b','2010-11-02'),(9,'b3','b','2010-11-03');
sql語句
select * from table1 t1
where
2>(select count(id) from table1 where memo=t1.memo and datelineorder by t1.memo, t1.dateline
SQL查詢每門課程的前幾名
sql server查詢每門課程的前兩名的學生編號,課程編號,成績並排序。在sql server 資料庫中,有乙個表studentachievement 學生成績 它有三個字段 studentid varchar 8 學生編號 courseid varchar 10 課程編號 achievement...
SQL查詢前幾條資料的方法
sql在不同資料庫查詢前幾條資料 1.oracle select from table1 where rownum n hql from table1 t order by t.createtime desc where rownum n 2.informix select first n from...
sql 查詢某個字段出現的次數
表名隨便起個 testtable 那麼有這麼乙個需求,利用你所學的sql語句 單錶查詢出下表的結果 也就是統計某個時間某個值出現的次數其實一開始我是很懵,畢竟之前也沒做過,只能怪自己學得太淺了。過後我也查了一些資料 終於解決這個疑惑,直接上sql語句select datetime sum name ...