1

我有这样的结构表:

 --------------------------------------------
|  id  |  tid  | uid |   title   |   time    |
 --------------------------------------------
|  1   |   3   | 15  |           |   120333  |
 --------------------------------------------
|  2   |   3   | 15  | Lorem ip..|   120394  |
 --------------------------------------------
|  3   |   3   | 15  |           |   120344  |
 --------------------------------------------
|  4   |   2   | 15  | Lorem ip..|   128994  |
 --------------------------------------------
|  5   |   2   | 15  | Lorem ip..|   126782  |
 --------------------------------------------

我有这样的查询(它选择所有带有“uid”的记录 - 用户 id 为 15):

SELECT * FROM my_table WHERE uid = :uid GROUP BY tid ORDER BY time DESC

Thos 工作正常,但你有一个问题:当我显示此查询的结果时,“标题”行通常是空的。(注意:每个“tid”数字必须至少有一个“title”)

我怎样才能强制这个查询总是显示标题,所以它永远不会是空的?

4

2 回答 2

2

如果您想为 Title 字段取任意值,或者如果它们都相同,则可以对该列执行 MIN()。MIN 将省略空值。

于 2012-12-18T19:12:12.543 回答
-2
SELECT COALESCE(title, 'no title'), * FROM my_table WHERE uid = :uid GROUP BY tid ORDER BY time DESC
于 2012-12-18T19:18:11.977 回答