2

好的,很难弄清楚如何进行此查询。

我有一个包含以下字段的计费日志表:

+----+---------+--------+--------------+
| ID | OrderID | FileID | CollectionID |
+----+---------+--------+--------------+
|  1 |     113 |   3666 |          345 |
|  2 |     113 |  35354 |          345 |
|  3 |     113 |   3456 |          345 |
|  4 |     113 |   7734 |          345 |
|  5 |     114 |     23 |              |
|  6 |     115 |    442 |              |
|  7 |     116 |    115 |              |
|  8 |     117 |   5141 |          987 |
|  9 |     117 |   1423 |          987 |
| 10 |     118 |    213 |              |
| 11 |     119 |   3666 |          345 |
| 12 |     119 |  35354 |          345 |
| 13 |     119 |   3456 |          345 |
| 14 |     119 |  44142 |          345 |
| 15 |     120 |  12321 |              |
| 16 |     121 |    789 |         1113 |
| 17 |     122 |  78000 |              |
| 18 |     123 |   9987 |              |
| 19 |     124 |   7899 |          345 |
| 20 |     124 |     87 |          345 |
| 21 |     124 |     78 |          345 |
+----+---------+--------+--------------+

我正在尝试获取购买收藏的次数。在上面的示例中,收藏号 345 购买了 3 次,收藏号 987 购买了一次,收藏号 1113 购买了一次。

为了澄清这一点,如果您查看 ID 1-4,您可以看到有人购买了 Collection number 345,其中包括以下文件(3666、35354、3456 和 7734),并且他们购买的订单号是 113。

所以我们的桌子上摆满了这些,我只需要知道每个系列被购买了多少次。

有什么想法吗?

谢谢你的帮助!

克雷格

4

2 回答 2

4

像这样的事情应该这样做。关键是distinct OrderID

select CollectionID, count(distinct OrderID)
  from myTable
 group by CollectionID

显示结果的sqlfiddle

于 2013-07-09T17:26:20.123 回答
0

是的..您可以使用以下查询: SELECT *column_name* COUNT(*) FROM *table_name* WHERE CollectionID = '345';

希望这会有所帮助。此外,任何 Mysql 查询的好资源是“ http://dev.mysql.com/doc/#manual

于 2013-07-09T17:30:05.853 回答