我有下面的表:MySQL的集團通過篩選爲了
TblID - AUTO_INCREMENT
IndividualID
BranchID
TreeID
只有TblID是獨一無二的。我希望查詢TreeID = x和BranchID = y的表,以檢索所有共享這些特徵的個人記錄。對於一個IndividualID可能有許多個人記錄,但我只想檢索每個IndividualID創建的第一個(因此具有最低的TblID值)。
所以我改變來自:
SELECT * FROM tbl WHERE TreeID = :TreeID AND BranchID= :BranchID
要
SELECT * FROM `rep_options` WHERE TreeID = :TreeID AND BranchID= :BranchID
GROUP BY IndividualID ORDER BY TblID ASC
這似乎是工作,但我不是足夠舒適與MySQL組是信心,我得到的用正確的方法指出正確的一點。
這是正確的方式來過濾我的返回到每個IndividualID只有一個記錄,按TblID排序?
提供的所有其他值沒有被分組是相同的,比這將工作。但是,如果任何字段(例如TblID)很重要,並且與所有其他記錄不同,則可能會得到不理想的結果。 – xQbert
如果你正在尋找每個'IndividualID'獲得最小/最小的'TblID',那麼不,那不會做你想要的。 'ORDER BY'將在'GROUP BY'之後應用。 –