【发布时间】:2010-05-30 12:52:19
【问题描述】:
下面是我正在使用的表格的过度简化版本:
水果 +-------+----------+ |编号 |类型 | +-------+----------+ | 1 |苹果| 高分辨率照片| CLIPARTO | 2 |橙色 | | 3 |香蕉| 高分辨率照片| CLIPARTO | 4 |苹果| 高分辨率照片| CLIPARTO | 5 |苹果| 高分辨率照片| CLIPARTO | 6 |苹果| 高分辨率照片| CLIPARTO | 7 |橙色 | | 8 |苹果| 高分辨率照片| CLIPARTO | 9 |苹果| 高分辨率照片| CLIPARTO | 10 |香蕉| 高分辨率照片| CLIPARTO +-------+----------+以下是感兴趣的两个查询:
SELECT * FROM fruits WHERE type='apple' LIMIT 2;
SELECT COUNT(*) AS total FROM fruits WHERE type='apple'; // output 6
我想组合这两个查询,结果如下所示:
+-------+---------+---------+ |编号 |类型 |总计| +-------+---------+---------+ | 1 |苹果| 高分辨率照片| CLIPARTO 6 | | 4 |苹果| 高分辨率照片| CLIPARTO 6 | +-------+---------+---------+输出必须限制为 2 条记录,但它还应包含 apple 类型的记录总数。
如何通过 1 个查询来完成?
【问题讨论】:
-
这样查询的目的是什么?
-
这是我正在使用的表的精简版本,它将有超过一百万条记录,并且缺少其他 5 列。为了简单起见,我放了这张表。现在我正在使用 2 个查询,但想知道如何通过 1 个查询来实现(用于学习目的)
-
看起来你过于简单化了,它可能会误导那些试图回答的人。就我个人而言,我更喜欢明智的问题。