需要协助解决MySQL查询问题

时间:2013-07-09 17:13:37

标签: mysql

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

我有一个结算日志表,其中包含以下字段:

+----+---------+--------+--------------+
| 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号收集品,一次购买了收集品987,购买了一次收集品1113。

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

所以我们有一张桌子,我只需要知道每个集合的购买次数。

任何想法?

感谢您的帮助!

克雷格

2 个答案:

答案 0 :(得分:4)

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

select CollectionID, count(distinct OrderID)
  from myTable
 group by CollectionID
显示结果的

sqlfiddle

答案 1 :(得分:0)

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

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