我存儲tweets,twitter用戶,並將twitter用戶分組。SQL限制和排序通過跨連接
我有以下4個表
鳴叫:
tweet_id | user_id | created
-------------------------------
23452345 | 2345 | 2013-08-12
23456094 | 1234 | 2014-03-24
23097777 | 1234 | 2014-04-12
23948798 | 9999 | 2013-09-22
twitter_users:
user_id | screen_name
------------------------
2345 | michael
1234 | david
9999 | not_interested
twitter_social:
user_id | social_id
---------------------------
2345 | 34
9999 | 20
1234 | 80
social_categories:
social_id | category_id
-----------------------
34 | 3
20 | 6
80 | 3
我想查看每個用戶在某個社會類別中出現的最舊推文。 我寫的以下SQL似乎不起作用。我每twitter_user
一行但我沒有看到最早的鳴叫
SELECT tu.screen_name as Handle, tw.created_at as Earliest
FROM twitter_users tu
LEFT JOIN tweets tw
ON tu.user_id = tw.user_id
LEFT JOIN twitter_social ts
ON ts.user_id = tu.user_id
LEFT JOIN social_categories cs
ON ts.social_id = cs.social_id
WHERE cs.category_id=3
GROUP BY Handle
ORDER BY Earliest ASC
編輯 我想如果你想最早有像下面
Handle | Earliest
---------------------
david | 2014-03-24
michael | 2013-08-12
嘗試'MIN(tw.created_at)作爲Earliest' –
呀,這做到了@AbhikChakraborty謝謝。我認爲MIN在查詢中已經太晚了,但它起作用了! – user3564392