如果需要將資料分組,用 group by 倒是不錯的方法。

假設有個資料表 my_db 內容如下
id   type1    column1        date1
----------------------------------------
1    red        a        2008-04-14
2    blue       b        2008-04-18
3    blue       c        2008-04-20
4    gold       d        2008-04-24
5    gold       e        2008-04-28

想要將資料分組,並挑出各組第一筆資料,可以這麼寫:
select colunm1 from my_db group by type1 order by date1
因 group by 的特性,會找到各分組的第一筆資料。可以由資料表得到 a, b, d

那麼,如果要得到各組最後一筆資料呢?
因無法藉 group by 指令特性表達,只好採用複雜一點的方式,加上含 group by 的 SQL 子句變通一下,可以這麼寫:
select column1 from my_db where date1 in (select max(date1) from my_db group by type1) order by date1
以上 SQL 語法可以找到各分組最後一筆資料,可以由資料表得到 a, c, e

自認不是資料庫高手,若有更好方法,歡迎討論~

2008/04/28 11:52 2008/04/28 11:52
2008/04/28 11:52 

要確認程式的執行狀況,可透過資料庫即時查詢記錄,讓你知道哪裡可能出了問題。但 MySQL 的工具實在少得可憐,所以這裡介紹一個查看 MySQL Query log 檔的方法,給有相同需求的人參考。

005
LogMonitor 示意圖

示範平台:Windows XP

MySQL 有自動記錄 Query 的功能,但預設是關閉的,所以要先啟用 MySQL Query 記錄檔。

1. 修改 my.ini(位於 C:\Windows 下) ,加上 log,例:
[mysqld]
log

2. 確認 MySQL 啟動時有加載 my.ini,有疑問請看這篇文章

3. 重新啟動 MySQL,若無誤 Query 記錄檔將自動產生於以下目錄
mysql/data/你的主機名稱.log

接著要安裝記錄檔檢視工具 LogMonitor 0.2,因為是 Java 程式,所以要先安裝 JRE,LogMonitor 可檢視任何記錄檔,並不限於 MySQL Query Log。

4. 到以下連結下載並安裝 JRE (Java Runtime Environment)
http://www.java.com/en/download/manual.jsp

5. 到以下連結下載 LogMonitor 0.2
http://oldlake.brinkster.net/LogMonitor/LogMonitorDownload.htm

6. 開啟 LogMonitor,位於以下位置
ProjectLogMonitor/Jar/LogMonitor.jar

7. Options > Log file path > 檔案指向 mysql/data/你的主機名稱.log,完成後按下底部的 Start 按鍵。

8. 完成!你可以在 LogMonitor 查看即時的 MySQL Query 了!

2008/04/02 18:16 2008/04/02 18:16
2008/04/02 18:16 

錯誤訊息
..... MySQL GUI Tools 5.0\XML\mysqlqb_functions.xml (error:
用戶插入圖片

..... MySQL GUI Tools 5.0\XML\mysqlqb_statements.xml (error:
用戶插入圖片

發生原因

手動安裝 MySQL GUI Tools 時,將目錄名稱取名為中文,或是將它放置在桌面上執行 MySQL Query Browser,在中文系統會發生此問題。

解決方法
檢視 MySQL GUI Tools 的完整目錄名稱,不可出現任何中文字,自動安裝版本可避免此問題。
用戶插入圖片

2007/12/14 17:04 2007/12/14 17:04
2007/12/14 17:04 

錯誤訊息
Either the server service or the configuration file could not be found. Startup variables and service section are therefore disabled.

用戶插入圖片

發生原因
手動安裝 MySQL 時,my.ini 無法正確被服務判讀時會發生此狀況。將會影響 MySQL GUI Tools 之中的管理工具 MySQL Administrator 及 MySQL Query Browser 的 Service 功能被強制關閉。

解決方法
我的電腦上按右鍵 > 管理 > 服務及應用程式 > 服務 > MySQL 點兩下開啟
執行檔所在路徑:C:\mysql\bin\mysqld.exe MySQL
必須修改為:
"C:\mysql\bin\mysqld.exe" --defaults-file="C:\WINDOWS\MY.INI" MySQL
可是無法在此修改,要到登錄編輯程式裡修正

開始 > 執行 > 輸入 regedit > 確定
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MySQL\ImagePath
更改之後此 Bug 就已解決,不必重新啟動 MySQL。

如果 C:\WINDOWS 目錄裡沒有 my.ini 的話,也要建立一個檔案。
2007/12/14 10:32 2007/12/14 10:32
2007/12/14 10:32 

沒必要最好還是不要轉換資料庫,但有必要時找不到方法可就麻煩了。以下說明這兩種資料庫 MySQL , Access 之間的轉換,相信 step by step 誰都能做好這些工作。

一、Access 轉 MySQL

這裡推薦 MySQL Migration Toolkit,此工具包含在 MySQL GUI Tools 5.0 之中,可在 MySQL 官網下載,是目前最好的轉換工具。

User inserted image

1.下載並執行 MySQL Migration Toolkit 。

2. 在 Source Database Connection 的下拉式選單找到 MS Access,並匯入你的 mdb 檔,需注意這裡不支援 Access2007 的新格式 accdb。

3. 在 Target Database 作 MySQL Server 設定,本機請在 Hostname 填入 localhost 。

4. 第三階段 Object Mapping 按 Set Parameter 鍵作編碼設定,可以讓你避開亂碼問題。
UTF-8 編碼請在選項中將設定分別改為 Multilanguage,Big5 編碼則分別選擇 User defined,並在欄位裡的項目修正為 charset=big5, collation=big5_chinese_ci。
User inserted image

5. 接下來只需按 Next 一直到結束,轉換成功。

二、MySQL 轉 Access

以 Access 透過 MySQL ODBC 為主要轉換方式,轉換前你必須先認識這屬於 Access 的 Bug,匯入的資料庫主索引鍵設定會消失,此 Bug 記載於 Microsoft 中文知識庫 223216 。此問題至今無解,所以 MySQL 轉 Access 是有缺憾的,轉換之前請三思。

1. 下載並安裝 MySQL Connector / ODBC 5.1

2. 控制台 > 系統管理工具 > 資料來源(ODBC)
系統資料來源名稱 > 新增 > MySQL ODBC 5.1 Driver
設定 MySQL 連線資料
User inserted image

3. 第二頁的 Character Set 有重要的編碼設定,可讓你避開亂碼問題,即使編碼 UTF-8 的資料庫也要設定為 big5 才不會出現亂碼,理由可能和系統語言有關聯。在這裡別忘了舉手之勞按 Test 測試連線是否成功 ... 設定好之後可以連資料來源(ODBC) 也一道關閉。
User inserted image

4. 在 Access 中開啟一個空白資料庫,這裡以 Access2007 作示範。

5. 外部資料 > 其他 > ODBC資料庫
匯入來源資料至目前資料庫的新資料表 > 確定
選擇資料來源 > 機器資料來源 > 剛才你取名的資料來源 > 確定
選擇要匯入的資料庫按確認

6. 轉換成功。
2007/10/12 15:34 2007/10/12 15:34
2007/10/12 15:34 

忘記 MySQL 的 root 密碼怎麼辦? 這裡教你在 Windows 系統下重設 MySQL root 密碼的方法。首先,你必須要知道你的 MySQL 目錄,例如我的 MySQL 目錄是 C:\mysql,如果你的 MySQL 目錄和我不一樣,只要替換成你的就可以了。

這裡示範的 MySQL 版本是 5.0

1. 將 mysql_pwreset.txt 儲存在 C:\,內容如下:
mysql_pwreset.txt
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('');

2. 停止 MySQL 服務
在我的電腦按右鍵,選[管理]
服務及應用程式 > 服務 > MySQL (點擊兩下以開啟),按下 [停止]。

3. 開始 > 執行,輸入
C:\mysql\bin\mysqld --init-file=C:\mysql_pw_reset.txt

4. 開始 > 執行,輸入
C:\mysql\bin\mysqladmin -u root -p shutdown
出現的視窗寫著 Enter Password: 只要按 Enter 即可。

5. 啟動 MySQL 服務
在我的電腦按右鍵,選[管理]
服務及應用程式 > 服務 > MySQL (點擊兩下以開啟),按下 [啟動]。

五個步驟之後,你的 MySQL root 密碼已經重設為沒有密碼了。
2006/08/10 17:24 2006/08/10 17:24
2006/08/10 17:24