※ 引述《wildpeanut (B級的人生)》之銘言:
: 各位好
: 我有一個table連結的問題(不同於上次那個...)如下
: LOGIN_HISTORY
: ID TIME IP NAME PHONE ADDRESS
: -- ---- -- ---- ----- -------
: 01 07/02/11 1.1.1.1 AA 001 AB-T
: 01 07/03/22 2.1.2.1 AA 001 AB-T
: 02 07/04/01 3.2.3.1 CC 312 MG-R
: 02 07/05/04 5.4.3.1 CC 312 MG-R
: 03 07/06/05 1.3.1.8 DD 918 CP-N
: 03 07/07/09 7.1.0.1 DD 918 CP-N
: 04 07/08/08 7.9.2.3 BB 019 CG-M
: 當USER輸入一些ID後,我要列出這些ID姓名(NAME)、電話(PHONE)、
: 最後一次登入的時間(TIME)與位址(IP)
: 我的想法是~ 用FOR迴圈跑
: SELECT ID, NAME, PHONE, TIME, IP
: FROM LOGIN_HISTORY
: WHERE ID = 'XXX'
: AND TIME=(SELECT MAX(TIME)
: FROM LOGIN_HISTORY
: WHERE ID = 'XXX')
: 但是當輸入很多ID卻要QUERY很多次,非常沒有效率
: 請問我SQL語法要怎麼下...會比較好?
: 最好能夠一次QUERY回來~~
: 感謝你看完
sorry.. 沒有看清楚..
那如果 SELECT ... FROM LOGIN_HISTORY WHERE ID IN (a,b,c,d..)
ORDER BY `TIME` DESC
結果放到 array, 再拿掉重複的呢?
如果你需要常常跑這個表出來, 另外做一個僅儲存每個使用者最後一次 login
的 table, 應該會省下很多麻煩, 反正 storage 那麼便宜, 多一個 table 花
不到幾塊錢。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.124.247