mysql GROUP BY与多个表

时间:2013-03-04 07:14:14

标签: php mysql

我不知道怎么问这个,但哪个更好......使用GROUP BY或多个表。

目前,我有一个生成列表的表。它有几列,一列是列表ID。

现在这是我的查询

SELECT `listID`, `` 
FROM `acmSongLists` 
WHERE `churchID`='".$thisID."' AND `timeSent` >= DATE_SUB( CURDATE( ) ,INTERVAL 0 MONTH ) 
GROUP BY `listID` ASC

当然,要让所有项目与相同的listID相关联。然后我将该ID传递给另一个查询以显示我的列表标题。 AKA ...

SELECT * FROM `acmSongLists` WHERE `listID`='$listID'"

我很好奇,有更好的方法吗?我的另一个想法是创建两个表,一个包含一般信息以及一个唯一的id(listID),然后是第二个表,用于保存列表中的每个项目。然后分别查询它们。我想我想知道效率最高的是什么。谢谢你的想法。

1 个答案:

答案 0 :(得分:0)

您可以尝试此查询:

SELECT asl1.`listID`, asl2.*
FROM `acmSongLists` asl1 INNER JOIN `acmSongLists` asl2 ON asl1.listID = asl2.listID
WHERE `churchID`='".$thisID."' AND `timeSent` >= DATE_SUB( CURDATE( ) ,INTERVAL 0 MONTH ) 
GROUP BY asl1.`listID` ASC