0
鉴于下面的查询,我可以得到一个结果集,其中包含来自查询中列出的位置ID的所有新故事并按日期排序。我不明白的是如何重写查询,以便将其限制为来自每个位置ID的1个结果(最新)。SQL查询,每个特定列限制为1个结果
是否可以做到这一点,或者我应该在事后处理结果集?
由于提前,
SELECT node.title AS node_title, node.nid AS nid, node.created AS node_created
FROM
{node} node
INNER JOIN {field_data_field_story_location} field_data_field_story_location
ON node.nid = field_data_field_story_location.entity_id
AND (field_data_field_story_location.entity_type = 'node'
WHERE (((node.status = '1') AND (node.type IN ('_news_story'))
AND (field_data_field_story_location.field_story_location_tid IN
('38', '44', '46', '45', '30', '36', '37', '29', '33', '34', '28', '56', '21', '49', '32'))))
ORDER BY node_created DESC
这是一个group_wise最大查询连接的结果集。它每天都会被问到几次,每天都在SO和其他地方。如果您需要特定帮助,请考虑以一组CREATE和INSERT语句和/或SQLFIDDLE的形式提供示例数据集。 – Strawberry 2013-05-07 13:33:05
嗨,感谢您的建议 - 我真的不知道太多的SQL,所以我一直在寻找术语(groupwise)和任何东西,所以我可以更有效地搜索。 – rix 2013-05-07 16:30:06