我的表格结构如下:
--------------------------------------------
| 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工作正常,但是你有一个问题:当我显示这个查询的结果时,“title”行通常是空的。 (注意:对于每个“tid”号码,必须至少有一个“标题”)
如何强制此查询始终显示标题,因此它永远不会为空?
答案 0 :(得分:2)
如果你想为Title字段取任意值,或者它们都是相同的,你可以在该列上做一个MIN()。 MIN将省略空值。
答案 1 :(得分:-2)
SELECT COALESCE(title, 'no title'), * FROM my_table WHERE uid = :uid GROUP BY tid ORDER BY time DESC