SELECT table_name, table_rows,
IF(Index_length=0, Data_length, Data_length*Index_length) AS 'Table Size'
FROM information_schema.tables
WHERE table_schema='mk'
ORDER BY 'Table Size', table_rows DESC;
1. mk 是資料庫名
2. IF是判斷式,如果Index_length是0
pretty code
2014年6月26日 星期四
MySQL 自創欄位
也是之前面試回家才想到犯的錯誤
SELECT DNAME, '1st table' AS 'Table名' FROM DEPARTMENT
UNION
SELECT DNAME, '2nd table' AS 'Table名' FROM DEPARTMENT;
同一張表都多出來一個欄位,但欄位名稱不一樣
因為是字串,故記得加單引號
SELECT DNAME, '1st table' AS 'Table名' FROM DEPARTMENT
UNION
SELECT DNAME, '2nd table' AS 'Table名' FROM DEPARTMENT;
同一張表都多出來一個欄位,但欄位名稱不一樣
因為是字串,故記得加單引號
MySQL ROWNUMBER
之前面試答不出來的問題
今天突然想到解法
SET @rownum:=0;
SELECT LNAME, BDATE, (@rownum:=@rownum+1) AS '名次'
FROM EMPLOYEE
ORDER BY BDATE;
重點在 @rownum:=@rownum+1
會讓 @rownum 一直累加
如果沒有 SET @rownum:=0;
重複執行 SELECT 敘述 @rownum 會延續上一次 SELECT 後的值
今天突然想到解法
SET @rownum:=0;
SELECT LNAME, BDATE, (@rownum:=@rownum+1) AS '名次'
FROM EMPLOYEE
ORDER BY BDATE;
重點在 @rownum:=@rownum+1
會讓 @rownum 一直累加
如果沒有 SET @rownum:=0;
重複執行 SELECT 敘述 @rownum 會延續上一次 SELECT 後的值
2014年6月17日 星期二
訂閱:
文章 (Atom)