我有2個表如下:幫助編寫SQL查詢來算
tags: id, version, name
tag_links: id, version, tag_id (foreign key to tags.id)
我需要編寫一個返回每個TAG_ID在tag_links表中有多少次出現的SQL語句。
例如:
tags:
id version name
-- ------- ------
1 1 sport
2 1 comedy
tag_links:
id version tag_id
-- ------- ------
1 1 1
2 1 1
3 1 1
4 1 2
5 1 2
我需要的結果是:
tag_id times_occurred
------ --------------
1 3
2 2
我有SQL的一點點知識,我試着寫,但:(
謝謝。
如果算上(TAG_ID),您的查詢將運行得更快,需要更少的開銷。 – tsilb 2009-08-19 13:22:31
我認爲這取決於DBMS,@ tslib。 DB2/z執行計劃將其顯示爲只需要tag_links.tag_id的索引訪問權限。其他較小的數據庫管理系統'可能並不那麼聰明:-)就我所知,SQL92標準並不遵循count(*)的「忽略空值」規則,僅針對count(列),因此智能DBMS只會得到無論如何,可見行中的tag_id列。 – paxdiablo 2009-08-19 13:54:18