我一直试图弄清楚如何修改此查询,以便结果集不包含numHits。我希望以相同的顺序获得相同的结果,只是不包含numHits。

SELECT
    `newel_inventoryKeywordIdDictionaryId`.`inventoryId`
    ,COUNT(`newel_inventoryKeywordIdDictionaryId`.`inventoryId`) as numHits
FROM
    `newel_inventoryKeywordIdDictionaryId`
    , `newel_inventoryDictionary`
WHERE
    `newel_inventoryKeywordIdDictionaryId`.`dicId` = `newel_inventoryDictionary`.`dicId`
    AND (
        `newel_inventoryDictionary`.`word` = 'alabaster' OR `newel_inventoryDictionary`.`word` = 'chess'
    )
GROUP BY inventoryId
ORDER BY numHits DESC;


样本结果:

inventoryId, numHits
6928, 2
6929, 2
6924, 2
6925, 2
13772, 2
6926, 2
18203, 1
6931, 1
13863, 1
18402, 1


所需结果:

inventoryId
6928
6929
6924
6925
13772
6926
18203
6931
13863
18402

最佳答案

将列从SELECT子句移到ORDER BY子句:

SELECT
    `newel_inventoryKeywordIdDictionaryId`.`inventoryId`
FROM
    `newel_inventoryKeywordIdDictionaryId`
    , `newel_inventoryDictionary`
WHERE
    `newel_inventoryKeywordIdDictionaryId`.`dicId` = `newel_inventoryDictionary`.`dicId`
    AND (
        `newel_inventoryDictionary`.`word` = 'alabaster' OR `newel_inventoryDictionary`.`word` = 'chess'
    )
GROUP BY inventoryId
ORDER BY COUNT(`newel_inventoryKeywordIdDictionaryId`.`inventoryId`) DESC;

07-27 13:46