MySQL 跟 SQL server 的 GROUP BY 的差別
2016年4月8日 星期五
2014年5月29日 星期四
【MySQL、MSSQL】 分頁寫法
MSSQL 分頁的寫法:
抓取第80000~80020的資料
SELECT * FROM
(SELECT ROW_NUMBER() over (order by id ASC) sort,* FROM test) as c
WHERE sort BETWEEN 80000 and 80020
OR
WITH Table AS (
SELECT ROW_NUMBER() over (order by id ASC) sort,* FROM test
) SELECT * FROM Table WHERE sort BETWEEN 80000 and 80020
MYSQL:
SELECT * FROM `test` LIMIT 80000,20
* MySQL 簡單多了
抓取第80000~80020的資料
SELECT * FROM
(SELECT ROW_NUMBER() over (order by id ASC) sort,* FROM test) as c
WHERE sort BETWEEN 80000 and 80020
OR
WITH Table AS (
SELECT ROW_NUMBER() over (order by id ASC) sort,* FROM test
) SELECT * FROM Table WHERE sort BETWEEN 80000 and 80020
MYSQL:
SELECT * FROM `test` LIMIT 80000,20
* MySQL 簡單多了
2014年5月28日 星期三
【MYSQL、MSSQL】複製資料表、複製一筆資料
1.複製一個資料表
MySQL 建議使用下面的方式,好處是 Schema 會一樣
只複製結構 SELECT * INTO new_table FROM old_table WHERE 1=0
2.複製一筆資料
MySQL、MSSQL 都可使用
INSERT INTO test(
id,
name,
test1,
test2
)
SELECT
3 AS id,
name,
'test' AS test1,
test2
FROM test
WHERE id =1
* 要複製原來的值就不用AS
3.運用
當資料量大,查詢時可將一個表拆成多個表
如:
Insert Into new_table (學號, 姓名,國文,英文,數學)
Select * From old_table Where 英文>90
MySQL 建議使用下面的方式,好處是 Schema 會一樣
- CREATE TABLE new_table LIKE old_table;
- INSERT new_table SELECT * FROM old_table
只複製結構 SELECT * INTO new_table FROM old_table WHERE 1=0
2.複製一筆資料
MySQL、MSSQL 都可使用
INSERT INTO test(
id,
name,
test1,
test2
)
SELECT
3 AS id,
name,
'test' AS test1,
test2
FROM test
WHERE id =1
* 要複製原來的值就不用AS
3.運用
當資料量大,查詢時可將一個表拆成多個表
如:
Insert Into new_table (學號, 姓名,國文,英文,數學)
Select * From old_table Where 英文>90
訂閱:
文章 (Atom)