我目前正在尝试构建一个有点棘手的MySQL Select语句。这是我要完成的工作:

我有一个这样的表:

data_table

uniqueID      stringID          subject
  1             144           "My Subject"
  2             144           "My Subject - New"
  3             144           "My Subject - Newest"
  4             211           "Some other column"

基本上,我想做的是能够通过stringID(表示stringID已线程化的图片)进行选择/组化,而不进行重复。此外,我想选择最近的stringID行(在上面的示例中为uniqueID 3)。

因此,如果我要查询数据库,它将返回以下内容(顶部是最新的uniqueID):
uniqueID   stringID    subject
 4          211        "Some other column"
 3          144        "My Subject - Newest" //Notice this is the most recent and distinct stringID row, with the proper subject column.

我希望这是有道理的。谢谢你的帮助。

最佳答案

尝试以下方法。它可能不是最有效的查询,但它将起作用:

SELECT uniqueID, stringID, subject
FROM data_table
WHERE uniqueID IN
 (
  SELECT MAX(uniqueID)
  FROM data_table
  GROUP BY stringID
 )
ORDER BY uniqueID DESC

关于MySQL Select语句DISTINCT用于多列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1181374/

10-11 02:57