2015-03-25 60 views
0

我試圖從該表這是可能在1個MySQL的做查詢

SELECT id, name FROM app_names 

讓所有的應用程序的名稱,並使用該數據獲取這些結果

SELECT count(*) FROM users_dailyrecords WHERE day='x' appName='THE ID FROM THE SELECT ABOVE' 

,並用結果的查詢我想插入它

INSERT INTO app_stats (appID, day, totalUsers) VALUES ('appID', 'x', 'RESULT FROM count(*)') 

我可以很容易地寫一個PHP腳本來做到這一點,但我認爲它可以完成前tty輕鬆使用mysql查詢。

+0

是的,有這樣的事情,因爲INSERT SELECT語句 – Ghost 2015-03-25 02:42:02

回答

1

是的,你可以將所有的這些:

INSERT INTO app_stats(appID, day, totalUsers) 
    SELECT 'appID', 'x', count(*) 
    FROM users_dailyrecords 
    WHERE day = 'x' AND 
      appName IN (name FROM app_names); 

目前還不清楚什麼appName部分在做什麼。據推測,users_dailyrecords中的唯一應用程序應該是appName中的有效應用程序。這聽起來像是一個外鍵關係的好地方。

+0

是的appName是不需要我忘了刪除時,發佈這一點。這個查詢是有道理的,我認爲它應該工作。我唯一的問題是,這會插入1條記錄嗎?我在app_names表中有大約80條記錄,我想插入每個應用的統計信息。 – Dave 2015-03-25 02:50:57

+0

這將插入'select'返回的所有記錄。你可以單獨運行'select'來查看它們。 – 2015-03-25 02:51:40

+0

太棒了,這是非常漂亮,然後幾個選擇和PHP循環。 – Dave 2015-03-25 02:56:13